问题
这样一种写法下,defaultValue
是不会生效的。
function Test() {
const [dv, setDv] = useState(0)
// 在某个元素的点击回调中setDv()
// foo.onClick = () => {setDv(bar)}
return(
<select
defaultValue={dv}
>
<option value='1' >1</option>
<option value='2' >2</option>
<option value='3' >3</option>
</select>
)
}
解决
给<select/>
加个动态key
强制执行渲染。
function Test() {
const [dv, setDv] = useState(0)
// 在某个元素的点击回调中setDv()
// foo.onClick = () => {setDv(bar)}
return(
<select
key={Date.now()}
defaultValue={dv}
>
<option value='1' >1</option>
<option value='2' >2</option>
<option value='3' >3</option>
</select>
)
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。