Skip to content

Commit

Permalink
fix: dataset search-input compostion can't work in chrome (#11907)
Browse files Browse the repository at this point in the history
Co-authored-by: zhaoqingyu.1075 <[email protected]>
  • Loading branch information
xhdd123321 and zhaoqingyu.1075 authored Dec 21, 2024
1 parent f53741c commit 6ded06c
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions web/app/components/base/search-input/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ const SearchInput: FC<SearchInputProps> = ({
const { t } = useTranslation()
const [focus, setFocus] = useState<boolean>(false)
const isComposing = useRef<boolean>(false)
const [internalValue, setInternalValue] = useState<string>(value)

return (
<div className={cn(
Expand All @@ -45,16 +46,18 @@ const SearchInput: FC<SearchInputProps> = ({
white && '!bg-white hover:!bg-white group-hover:!bg-white placeholder:!text-gray-400',
)}
placeholder={placeholder || t('common.operation.search')!}
value={value}
value={internalValue}
onChange={(e) => {
setInternalValue(e.target.value)
if (!isComposing.current)
onChange(e.target.value)
}}
onCompositionStart={() => {
isComposing.current = true
}}
onCompositionEnd={() => {
onCompositionEnd={(e) => {
isComposing.current = false
onChange(e.data)
}}
onFocus={() => setFocus(true)}
onBlur={() => setFocus(false)}
Expand All @@ -63,7 +66,10 @@ const SearchInput: FC<SearchInputProps> = ({
{value && (
<div
className='shrink-0 flex items-center justify-center w-4 h-4 cursor-pointer group/clear'
onClick={() => onChange('')}
onClick={() => {
onChange('')
setInternalValue('')
}}
>
<XCircle className='w-3.5 h-3.5 text-gray-400 group-hover/clear:text-gray-600' />
</div>
Expand Down

0 comments on commit 6ded06c

Please sign in to comment.