簡體   English   中英

在反應鈎子中,如果用戶 select 值相同,則 onChange 不會觸發

[英]in react hooks, onChange not firing if the user select the same value

這是我的代碼

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></>
}

問題是如果用戶 select 的值相同,則不會調用 onChange。 我添加了計數來演示問題 - 在選擇不同的值時它會增加,但在選擇相同的值時不會增加。

有什么方法可以捕獲相同值的用戶選擇? 我試過onSelect,但沒有用

onChange僅在值更改時觸發。

嘗試將onBlur添加到您的 select

<select  onChange={onChange} onBlur={onChange} value={value}>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM