<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;
})
react中select跟html原生不太一样,react中要改变select选中的值,要通过
select
标签中的value
设置,如下:如果要选中两个值,设置
select
标签中的value
值为数组,如<select multiple={true} value={['B', 'C']}>
参考: 官方文档