input无法自动获取焦点/ 文本无法自动选中

@ckinmind 2017-06-06 12:50:54发表于 ckinmind/ReactCollect

背景:

使用antd,mobx发现Input组件无法自动获取焦点,即autoFocus无效,这个Input是在一个modal框中

解决方案1:

componentDidUpdate() {
     document.getElementById('message-modal-input').focus()  // 聚焦
    document.getElementById('message-modal-input').select()  // 文字选中
  }
<input id = 'message-modal-input'>

解决方案2:

componentDidUpdate() {
    this.valueInput.focus()
  }

 handleFocus = e => {
     e.target.select()
   }
<input ref = { input => this.valueInput = input} onFocus={ this.handleFocus} />