我知道如何用jquery做到这一点。但是我坚持使用React:每当用户点击div时,我将如何聚焦输入字段?
答案 0 :(得分:4)
你需要在div上有一个onClick
事件,并调用输入元素上的focus()
函数,你可以通过refs
访问
class App extends React.Component {
render() {
return (
<div>
<div onClick={() => {this.myInp.focus()}}>Focus Input</div>
<input type="text" ref={(ip) => this.myInp = ip} />
</div>
)
}
}
ReactDOM.render(<App/>, document.getElementById('app'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>
在上面的代码段中,ref={(ip) => this.myInp = ip}
是一种回调方法,用于声明react-docs推荐的引用
答案 1 :(得分:1)
选中此https://facebook.github.io/react/docs/refs-and-the-dom.html
通过ref
你可以像jquery一样。
答案 2 :(得分:-1)
试试这个:
https://gradbee.com/project/gradbee-campus-ambassadors-2017/