0

私はこのコードを持っています:

<Dropdown
      selectedKey={someKeyInState}
      onChange={(e,option) => {
         // check if the dropdown should be updated
        if(someCondition){
           // update selected key
        }
        else {
           // don't update selected key
        }
      }}
      options={someOptions}
/>

特定の条件が満たされた場合、選択したキーの更新をブロックしたい。
しかし、ドロップダウンには、クリックしたオプションが選択済みとして視覚的に表示されます。
この動作を防ぐにはどうすればよいですか?

4

2 に答える 2

0

反応を使用している場合は、この方法で行うべきではありません。グローバルな状態optionStateを使用し、 onChange メソッドがトリガーされたときにどの状態を表示する必要があるかを条件付きチェックで使用してみてください。これを行うためには。まず、条件チェックを抽出して関数を分離します。

myFunction = () => {
   // do conditional check and setState for optionState
}
--------------------------
onChange={myFunction}

次に、オプションの状態からキーと値をポップして selectedState に更新することを選択すると、状態と UI が自動的に更新されます。

于 2020-01-31T11:49:09.707 に答える