Ви можете використати ref
проп для отримання посилання на базовий об’єкт HTMLInputElement через зворотний виклик, зберегти посилання як властивість класу, а потім використовувати це посилання, щоб пізніше викликати клік з обробників подій за допомогою методу HTMLElement.click .
У вашому render
методі:
<input ref={input => this.inputElement = input} ... />
У вашому обробнику подій:
this.inputElement.click();
Повний приклад:
class MyComponent extends React.Component {
render() {
return (
<div onClick={this.handleClick}>
<input ref={input => this.inputElement = input} />
</div>
);
}
handleClick = (e) => {
this.inputElement.click();
}
}
Зверніть увагу на функцію стрілки ES6, яка забезпечує правильний лексичний обсяг для this
зворотного дзвінка. Також зауважте, що об’єкт, який ви отримуєте таким чином, є об’єктом, подібним до того, що ви придбали б за допомогою document.getElementById
, тобто фактичний DOM-вузол.