场景 用户有一个下拉菜单,他选择了一个选项。我想显示该下拉列表并将该选项设为该用户上次选择的默认值。
我在 option 上使用 selected 属性,但 React 会生成一个警告,要求我在 select 上使用默认值。
例如
render: function() {
let option_id = [0, 1];
let options = [{name: 'a'}, {name: 'b'}];
let selectedOptionId = 0
return (
<select defaultValue={selectedOptionId}>
{option_id.map(id =>
<option key={id} value={id}>{options[id].name}</option>
)}
</select>
)
}
});
问题是我不知道 selectedOptionId 因为所选选项可以是任何选项。我将如何找到 defaultValue ?
原文由 Piyush 发布,翻译遵循 CC BY-SA 4.0 许可协议
React 使用
value
而不是selected
以确保表单组件之间的一致性。您可以使用defaultValue
设置初始值。如果你 控制值,你也应该设置value
。如果没有,请不要设置value
而是处理onChange
事件以对用户操作做出反应。请注意,
value
和defaultValue
应该与选项的value
匹配。