2017-03-03 22 views

Trả lời

19

Điều gì về việc sử dụng chức năng mũi tên trong trình xử lý onClick?

handleClick = (e, data) => { 
    // access to e.target here 
    console.log(data); 
} 

<input type="checkbox" value={data.id} defaultChecked={false} onClick={((e) => this.handleClick(e, data))}/> 
+1

Nó hoạt động ... Cảm ơn bạn. –

+0

và nếu tôi muốn xóa trình xử lý sự kiện đó, tôi làm như thế nào? –

+0

Bằng cách loại bỏ bạn có nghĩa là không có gì nên xảy ra? Bạn có thể có một if-check trong chức năng handleClick của bạn để kiểm tra xem một số prop được thiết lập, và sau đó chỉ cần trả lại. Điều đó có ý nghĩa? –

1

Trước tiên, nếu bạn ràng buộc null bạn sẽ không nhận được bất kỳ ngữ cảnh hay đối tượng UIEvent nào.

Bạn cần thay đổi onClick thành 'onClick = {this.handleClick} `.

Và chức năng xử lý của bạn sẽ trông như thế

handleClick = (event) => { 
    const { target: { value } } = event; 

    // And do whatever you need with it's value, for example change state 
    this.setState({ someProperty: value }); 
}; 
1

Hãy thử biến thể mã này:

handleClick = (data, e) => { 
    console.log(e.target.value, data); 
} 

<input type="checkbox" value={data.id} defaultChecked={false} onClick={this.handleClick.bind(this, data)}/> 
Các vấn đề liên quan