import { useEffect, useState } from 'react'
import { MultiSelect, type Option } from 'react-multi-select-component'
interface Props {
url: string
nameColumn: string
className?: string
valueColumn?: string
defaultSelected?: Option[]
name: string
}
function toMapValue(data: any[], nameColumn: string, valueColumn: string) {
return data.map((item: { [nameColumn]: string; [valueColumn]: string }) => ({
label: item[nameColumn],
value: item[valueColumn]
}))
}
export default function AsyncMultiSelect(props: Props) {
const { url: defaultUrl, nameColumn, valueColumn = 'id', className, defaultSelected = [], name } = props
const [url, setUrl] = useState(defaultUrl)
const [loading, setLoading] = useState(false)
const [selected, setSelected] = useState