Я пытаюсь программно установить фокус на входе, но по какой-то причине мой код не работает. Надеюсь, кто-нибудь сможет сказать мне, что я делаю не так.
class ParentComponent extends React.Component {
inputRef = React.createRef<HTMLInputElement>()
focusInput = ()=> {
const node = this.inputRef.current
if(node) {
console.log(node) // <input type="number" value />
node.focus() // However focus is not set on the input
}
}
getInputRef = ()=> {
return this.inputRef
}
render(){
return <ChildComponent getInputRef={this.getInputRef} focusInput={this.focusInput} />
}
}
const ChildComponent: React.FC<any> = ({getInputRef, focusInput})=> (
<React.Fragment>
<input
type="number"
ref={()=>getInputRef()}
/>
<button onClick={()=>focusInput()}>Set Focus</button>
</React.Fragment>
)