reactjs – React设置焦点在渲染后的输入

前端之家收集整理的这篇文章主要介绍了reactjs – React设置焦点在渲染后的输入前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在渲染组件后,在特定文本字段上设置焦点的反应方法是什么?

文档似乎建议使用refs,例如:

在render函数的输入字段上设置ref =“nameInput”,然后调用

this.refs.nameInput.getInputDOMNode().focus();

但我应该在哪里叫这个?我试过几个地方,但我不能让它工作。

你应该在componentDidMount和 refs callback中做。这样的东西
componentDidMount: function(){
   this.nameInput.focus(); 
},
class App extends React.Component{
  componentDidMount(){
    this.nameInput.focus();
  }
  render() {
    return(
      <div>
        <input 
          defaultValue="Won't focus" 
        />
        <input 
          ref={(input) => { this.nameInput = input; }} 
          defaultValue="will focus"
        />
      </div>
    );
  }
}
    
ReactDOM.render(<App />,document.getElementById('app'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.1/react-dom.js"></script>
<div id="app"></div>

猜你在找的React相关文章