'use client' import { Fragment, useState } from 'react' import { Combobox as HUICombobox, Transition } from '@headlessui/react' import { HiCheck, HiChevronDown } from 'react-icons/hi' import { Control, useController } from 'react-hook-form' const Combobox = props => { //? Props const { list, name, control, placeholder } = props //? Form Hook const { field } = useController({ name, control }) //? States const [query, setQuery] = useState('') //? Handlers const filteredList = query === '' ? list : list.filter(item => { return item.name.toLowerCase().includes(query.toLowerCase()) }) //? Render(s) return (
item.name} onChange={event => setQuery(event.target.value)} placeholder={placeholder} autoComplete="off" />
setQuery('')} > {filteredList.length === 0 && query !== '' ? (
未找到任何项目!
) : ( filteredList.map(item => ( {({ active }) => ( <> {item.name} {field.value?.code === item.code ? ( ) : null} )} )) )}
) } export default Combobox