diff --git a/packages/ui-default/components/autocomplete/components/AutoComplete.jsx b/packages/ui-default/components/autocomplete/components/AutoComplete.jsx index 9b0f7ca93..b3c828649 100644 --- a/packages/ui-default/components/autocomplete/components/AutoComplete.jsx +++ b/packages/ui-default/components/autocomplete/components/AutoComplete.jsx @@ -77,8 +77,8 @@ const AutoComplete = forwardRef(function AutoComplete(props, ref) { }, 300); const toggleItem = (item) => { + const key = itemKey(item); if (multi) { - const key = itemKey(item); const idx = selectedKeys.indexOf(key); if (idx !== -1) { setSelected((s) => { @@ -99,7 +99,8 @@ const AutoComplete = forwardRef(function AutoComplete(props, ref) { inputRef.current.focus(); } else { setSelected([item]); - inputRef.current.value = itemKey(item); + setSelectedKeys([key]); + inputRef.current.value = key; dispatchChange(); } setItemList([]); diff --git a/packages/ui-default/components/autocomplete/index.jsx b/packages/ui-default/components/autocomplete/index.jsx index b32b295ff..14f827ed3 100644 --- a/packages/ui-default/components/autocomplete/index.jsx +++ b/packages/ui-default/components/autocomplete/index.jsx @@ -71,12 +71,8 @@ export default class AutoComplete extends DOMAttachedObject { } value() { - if (this.ref?.getSelectedItems) { - const selected = this.ref.getSelectedItems(); - if (this.options.multi) return selected; - return selected[0]; - } - return this.$dom.val(); + if (this.options.multi) return this.$dom.val(); + return this.ref?.getSelectedItems()[0] ?? null; } detach() {