这是我的代码
function SelectBugDemo(){
var [value,set_value]=React.useState('one')
var [count,set_count]=React.useState(1)
function render_option(x){
return <option key={x} value={x}>{x}</option>
}
function onChange(event){
console.log('onChange')//some side effect here
set_value(event.target.value)
set_count(x=>x+1)
}
return <>{count}<select {...{onChange,value}}> {['one','two'].map(render_option)}</select></>
}
问题是,如果用户选择相同的值,则不会调用onChange。我添加了计数以演示该问题-选择不同的值时会增加计数,但是选择相同的值时不会计数。
是否有任何方法可以捕获用户选择的相同值?我尝试了onSelect,但是没有用
[onChange
仅在更改值时触发。
尝试将onBlur
添加到您的选择中。
<select onChange={onChange} onBlur={onChange} value={value}>