search

Home  >  Q&A  >  body text

javascript - ReactJs无法更新数据

<select id="ssss" selectedIndex = { this.state.type } >
         <option value="1">游戏</option>
         <option value="2">招聘</option>
         <option value="3">宣传</option>
         <option value="4">其他</option>
</select>

当我用setState({type:2})之后,select并没有发生变化,但是state中的属性确实已经改变。
我现在的做法是在callback里面自己去修改,不过这样也违背了reactjs的本意,有什么好的方法可以解决吗


setState({
   type:project.type
},function(){
    document.querySelector("#ssss").selectedIndex = project.type;
})
PHP中文网PHP中文网2906 days ago336

reply all(2)I'll reply

  • 巴扎黑

    巴扎黑2017-04-10 15:35:57

    react中select跟html原生不太一样,react中要改变select选中的值,要通过select标签中的value设置,如下:

      <select value="B">
        <option value="A">Apple</option>
        <option value="B">Banana</option>
        <option value="C">Cranberry</option>
      </select>
    

    如果要选中两个值,设置select标签中的value值为数组,如
    <select multiple={true} value={['B', 'C']}>

    参考: 官方文档

    reply
    0
  • ringa_lee

    ringa_lee2017-04-10 15:35:57

    http://reactjs.cn/react/docs/forms.html

    reply
    0
  • Cancelreply