ui: autocomplete: fix value is not a function

This commit is contained in:
无限UCW committed 2021-08-25 12:55:32 +08:00
1 parent fe36a3f17e
commit c78fc82d5b
2 files changed
+15 -2

No files matched your search

@@ -28,8 +28,8 @@ const AutoComplete = forwardRef(function AutoComplete(props, ref) {
const freeSoloConverter = freeSolo ? props.freeSoloConverter ?? ((i) => i) : ((i) => i);
const [focused, setFocused] = useState(false); // is focused
const [selected, setSelected] = useState(defaultItems); // selected items
const [selectedKeys, setSelectedKeys] = useState(defaultItems.map((i) => itemKey(i))); // keys of selected items
const [selected, setSelected] = useState(multi ? defaultItems : []); // selected items
const [selectedKeys, setSelectedKeys] = useState(multi ? defaultItems.map((i) => itemKey(i)) : []); // keys of selected items
const [itemList, setItemList] = useState([]); // items list
const [currentItem, setCurrentItem] = useState(null); // index of current item (in item list)
@@ -99,6 +99,7 @@ const AutoComplete = forwardRef(function AutoComplete(props, ref) {
inputRef.current.focus();
} else {
inputRef.current.value = itemKey(item);
dispatchChange();
}
setItemList([]);
setCurrentItem(null);
@@ -214,6 +215,7 @@ const AutoComplete = forwardRef(function AutoComplete(props, ref) {
}}
onBlur={() => setFocused(false)}
onKeyDown={handleInputKeyDown}
defaultValue={multi ? '' : defaultItems.join(',')}
/>
</div>
{focused && itemList.length > 0 && (