import React, { useMemo, useState } from "react"; import { MultiSelectProps} from './types'; import Input from "../Input"; const MultiSelect = ({ className, style, options, name, size, placeholder, children, onChange }: MultiSelectProps) => { const [dropDown, setDropDown] = useState(''); const [selected, setSelected] = useState([]); const changeSelected = (ev: React.ChangeEvent) => { const { value } = ev.target; const index = selected.findIndex(v => v === value); if (index <= -1) { setSelected([...selected, value]) } else { const newState = selected.slice().filter((v, i) => i !== index); setSelected([ ...newState ]) } onChange && onChange(selected); } const classes = useMemo(() => { return [ 'form-control', size && `form-control-${size}`, className ].filter(Boolean).join(' '); }, [className, size]); return (
setDropDown(dropDown === '' ? 'show' : '')}>
{options?.map(({ label, value }) => )}
) } export default MultiSelect;