javascript - ReactJs无法更新数据
PHP中文网
PHP中文网 2017-04-10 15:33:57
0
2
339
<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中文网

认证高级PHP讲师

reply all(2)
巴扎黑

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']}>

参考: 官方文档

左手右手慢动作

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

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template