import React, { useRef, useState, useEffect } from "react"; import { without } from "lodash"; import { InputHandlers } from "../dropdown/dropdown"; import Select, { ISelect } from "./select"; import MultiselectItem from "./multiselect-item"; interface IItem { id: string | number; text: string; } interface IMultiSelect extends ISelect { onSubmit: (selectedItems: IItem["id"][]) => void; onCancel?: () => void; cancelText?: string; submitText?: string; items: IItem[]; value: IItem["id"][] | null; } const MultiSelect = (props: IMultiSelect) => { const { value, items, onSubmit, onCancel, cancelText, submitText, onClose, ...rest } = props; const actionsRef = useRef(null); const [selectedItems, setSelectedItems] = useState([]); useEffect(() => { setSelectedItems(value || []); }, [value]); const controls = (
); return ( ); }; MultiSelect.displayName = "MultiSelect"; MultiSelect.defaultProps = { cancelText: "Cancel", submitText: "Apply" }; export default MultiSelect;