Puede usar el ref
accesorio para adquirir una referencia al objeto HTMLInputElement subyacente a través de una devolución de llamada, almacenar la referencia como una propiedad de clase y luego usar esa referencia para activar más tarde un clic de sus controladores de eventos usando el método HTMLElement.click .
En tu render
método:
<input ref={input => this.inputElement = input} ... />
En su controlador de eventos:
this.inputElement.click();
Ejemplo completo:
class MyComponent extends React.Component {
render() {
return (
<div onClick={this.handleClick}>
<input ref={input => this.inputElement = input} />
</div>
);
}
handleClick = (e) => {
this.inputElement.click();
}
}
Tenga en cuenta la función de flecha ES6 que proporciona el alcance léxico correcto this
en la devolución de llamada. También tenga en cuenta que el objeto que adquiere de esta manera es un objeto similar al que adquiriría utilizando document.getElementById
, es decir, el nodo DOM real.