如何在input
元素进入 DOM 时为其设置焦点?
设想
单击按钮时,将显示输入元素。如何设置焦点到这个元素?
代码片段
class Component extends React.Component{
constructor(props) {
super(props);
this.state = {
showInput: false
}
}
render() {
return (
<div>
<div onClick={() => {
this.setState({showInput: true});
ReactDOM.findDOMNode(this.refs.myInput).focus() // <- NOT WORKING
}}>
Show Input
</div>
{
(this.state.showInput) ? (
<input
type="text"
ref="myInput"
/>
) : ""
}
</div>
);
}
}
ReactDOM.findDOMNode(this.refs.myInput).focus()
状态更改后调用不起作用。仅更改状态更改时的style
ortype
属性也不起作用。