我正在显示动态下拉列表,我想要保留一个特定元素或第一个元素。但我找不到方法。
<select onChange = {this.handleSelectChange}>
<option>any-select</option>
{
this.state.data2.map(function(data) {
return <option value={data.id}>{data.name}</option>
})
}
</select>
答案 0 :(得分:1)
您可以使用下面提到的代码
this.state.data2.map(function(data,index) {
return index==0?<option value={data.id} selected="selected">{data.name}</option>:<option value={data.id}>{data.name}</option>
})
答案 1 :(得分:1)
虽然您可以在选项上添加selected="selected"
,但我认为更好的方法是使用value
选项。
您可以更改value
处理程序中的select onChange
如果您想要选择第一个无价值选项,只需将value
设置为假值,例如null
<select onChange = {this.handleSelectChange} value={/*null or selected option's data.id*/}>
<option>any-select</option>
{
this.state.data2.map(function(data) {
return <option value={data.id}>{data.name}</option>
})
}
</select>
如果您想选择任何其他选项,只需将value
设置为选项的值