[英]React-Downshift - How to prevent clear by Escape key?
我正在使用 React 開源組件Downshift來構建我的自定義下拉菜單。
我面臨的問題是當用戶按下Escape
鍵時,Downshift 會清除所選項目(並使用null
調用onChange
回調)。
即使我的下拉菜單甚至沒有空選項,這也會清除我的下拉菜單。
如何抑制此行為並使其僅關閉打開的下拉列表(如果已打開)而不更改值。
我想我自己想通了:我添加了一個 state 減少了覆蓋默認行為:
const stateReducer = (_, changes) => {
switch (changes.type) {
// Preventing from clearing value once ESC is pressed
case Downshift.stateChangeTypes.keyDownEscape:
return { isOpen: false };
default:
return changes;
}
};
<Downshift stateReducer={stateReducer}>{/* your callback */}</Downshift>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.