diff --git a/packages/react-search-tree/src/SearchTagInput.tsx b/packages/react-search-tree/src/SearchTagInput.tsx index fe1dee9d5e..975b17c47e 100644 --- a/packages/react-search-tree/src/SearchTagInput.tsx +++ b/packages/react-search-tree/src/SearchTagInput.tsx @@ -51,7 +51,7 @@ function SearchTagInput(props: SearchTagInputPro const cls = [prefixCls, className].filter(Boolean).join(' ').trim(); // const isMultiple = useMemo(() => mode === 'multiple', [mode]); - // const [innerIsOpen, setInnerIsOpen] = useState(false); + const [innerIsOpen, setInnerIsOpen] = useState(false); const [selectedOption, setSelectedOption] = useState>(values); const optionRef = useRef>(); const [searchValue, searchValueSet] = useState(''); @@ -89,7 +89,7 @@ function SearchTagInput(props: SearchTagInputPro // 清除选中的值 function resetSelectedValue() { - // setInnerIsOpen(false); + setInnerIsOpen(false); setSelectedOption([]); handleInputChange(''); handleSelectChange([]); @@ -112,11 +112,13 @@ function SearchTagInput(props: SearchTagInputPro }, [selectedOption, options]); return ( - {newContent}}> + {newContent}}>
renderSelectIcon('enter')} onMouseLeave={() => renderSelectIcon('leave')} - onClick={() => inputRef.current?.focus()} + onClick={() => { + if (innerIsOpen) inputRef.current?.focus(); + }} style={{ minWidth: 200, maxWidth: 'none', ...style }} >