Bạn có thể sử dụng phần mềm ref
hỗ trợ để có được một tham chiếu đến đối tượng HTMLInputElement bên dưới thông qua một lệnh gọi lại, lưu trữ tham chiếu dưới dạng thuộc tính lớp, sau đó sử dụng tham chiếu đó để kích hoạt một lần nhấp từ trình xử lý sự kiện của bạn bằng cách sử dụng HTMLElement.click phương thức .
Trong render
phương pháp của bạn :
<input ref={input => this.inputElement = input} ... />
Trong trình xử lý sự kiện của bạn:
this.inputElement.click();
Ví dụ đầy đủ:
class MyComponent extends React.Component {
render() {
return (
<div onClick={this.handleClick}>
<input ref={input => this.inputElement = input} />
</div>
);
}
handleClick = (e) => {
this.inputElement.click();
}
}
Lưu ý hàm mũi tên ES6 cung cấp phạm vi từ vựng chính xác cho this
lệnh gọi lại. Cũng lưu ý rằng đối tượng mà bạn có được theo cách này là một đối tượng giống với những gì bạn sẽ có được bằng cách sử dụng document.getElementById
, tức là nút DOM thực tế.