From eab7c444cc86a4e0dd5a30258f0c2fd8a3103da2 Mon Sep 17 00:00:00 2001 From: saller Date: Fri, 11 Aug 2023 18:37:13 +0800 Subject: [PATCH] fix(pro:search): empty value set by quick select should be removed (#1646) --- .../search/src/components/quickSelect/QuickSelectItem.tsx | 7 +++++++ .../pro/search/src/components/segment/SegmentInput.tsx | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/pro/search/src/components/quickSelect/QuickSelectItem.tsx b/packages/pro/search/src/components/quickSelect/QuickSelectItem.tsx index eef75ea66..1c1ec4834 100644 --- a/packages/pro/search/src/components/quickSelect/QuickSelectItem.tsx +++ b/packages/pro/search/src/components/quickSelect/QuickSelectItem.tsx @@ -25,6 +25,7 @@ export default defineComponent({ convertStateToValue, createSearchState, getSearchStatesByFieldKey, + removeSearchState, updateSegmentValue, updateSearchValues, tempSegmentInputRef, @@ -65,6 +66,12 @@ export default defineComponent({ const confirmValue = (value: unknown) => { let searchStateKey = searchState.value?.key + + if (!value && searchStateKey) { + removeSearchState(searchStateKey) + return + } + if (!searchState.value) { searchStateKey = createSearchState(props.searchField.key, { value, diff --git a/packages/pro/search/src/components/segment/SegmentInput.tsx b/packages/pro/search/src/components/segment/SegmentInput.tsx index 0462d7e99..4a49c678b 100644 --- a/packages/pro/search/src/components/segment/SegmentInput.tsx +++ b/packages/pro/search/src/components/segment/SegmentInput.tsx @@ -184,9 +184,9 @@ function useSegmentScroll( ): ComputedRef { const [segmentScroll, setSegmentScroll] = useState({ left: 0, right: 0 }, true) - let listenerStops: (() => void)[] + let listenerStops: (() => void)[] | undefined const stopListen = () => { - listenerStops.forEach(stop => stop()) + listenerStops?.forEach(stop => stop()) } const getScrolls = (): SegmentScroll => {