Office UI Fabric React - 下拉列表不考虑 selectedKey 道具
Office UI Fabric React - Dropdown not respecting selectedKey prop
我有这个代码:
<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}
/>
我想在满足特定条件时阻止更新所选键。
但是,下拉菜单直观地显示了我点击的选项。
我该如何防止这种行为?
如果你正在使用react,你不应该这样做。使用全局状态 optionState
并尝试使用条件检查应显示哪个状态以使用 onChange 方法被触发。为此。首先提取条件检查以分离函数。
myFunction = () => {
// do conditional check and setState for optionState
}
--------------------------
onChange={myFunction}
然后当你select从选项状态弹出键和值并更新到selectedState,现在反应自动更新状态和UI
问题是我 selectedKey
的状态是 undefined
,没有选择任何内容。当你传入 undefined
时,你基本上是在告诉 fabric 自己控制 selectedKey
状态。
我通过传递 null
而不是 undefined
来修复。这使得下拉菜单完全受控。
我有这个代码:
<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}
/>
我想在满足特定条件时阻止更新所选键。
但是,下拉菜单直观地显示了我点击的选项。
我该如何防止这种行为?
如果你正在使用react,你不应该这样做。使用全局状态 optionState
并尝试使用条件检查应显示哪个状态以使用 onChange 方法被触发。为此。首先提取条件检查以分离函数。
myFunction = () => {
// do conditional check and setState for optionState
}
--------------------------
onChange={myFunction}
然后当你select从选项状态弹出键和值并更新到selectedState,现在反应自动更新状态和UI
问题是我 selectedKey
的状态是 undefined
,没有选择任何内容。当你传入 undefined
时,你基本上是在告诉 fabric 自己控制 selectedKey
状态。
我通过传递 null
而不是 undefined
来修复。这使得下拉菜单完全受控。