From 64fce3f57228abe1951f0968d70fb329a995a087 Mon Sep 17 00:00:00 2001 From: Konv Suu <2583695112@qq.com> Date: Wed, 8 Feb 2023 11:55:36 +0800 Subject: [PATCH] fix(comp:select): blur event clear input value --- .../_private/selector/src/composables/useInputState.ts | 4 ---- packages/components/select/src/Select.tsx | 8 +++++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/components/_private/selector/src/composables/useInputState.ts b/packages/components/_private/selector/src/composables/useInputState.ts index 3a20278db..16a7511f6 100644 --- a/packages/components/_private/selector/src/composables/useInputState.ts +++ b/packages/components/_private/selector/src/composables/useInputState.ts @@ -40,10 +40,6 @@ export function useInputState(props: SelectorProps, mergedSearchable: ComputedRe } const handleBlur = (evt: FocusEvent) => { - if (props.allowInput && !props.multiple) { - props.value[0] = inputValue.value - inputValue.value = '' - } isFocused.value = false callEmit(props.onBlur, evt) } diff --git a/packages/components/select/src/Select.tsx b/packages/components/select/src/Select.tsx index 42b47e9ff..2a48554b5 100644 --- a/packages/components/select/src/Select.tsx +++ b/packages/components/select/src/Select.tsx @@ -107,7 +107,13 @@ export default defineComponent({ } } - const handleBlur = () => accessor.markAsBlurred() + const handleBlur = () => { + if (props.allowInput && inputValue.value) { + changeSelected(inputValue.value) + clearInput() + } + accessor.markAsBlurred() + } const handleItemRemove = (value: VKey) => { focus() handleRemove(value)