import { Select } from "antd"; import { useEffect } from "react"; import { getLabelName } from "../../../utils"; /** * 基础下拉组件(不建议直接使用此组件,二次继承使用) */ function BasicSelect(props) { const { onGetData, onChange, onGetLabel, placeholder = "", data = [], nameKey = "name", idKey = "id", ...restProps } = props; const handleChange = (event, option) => { if (Array.isArray(event)) { if (event.length > 0) { const name = []; event.forEach((item) => { name.push(getLabelName({ list: data, status: item, idKey, nameKey })); }); onGetLabel?.(name); } else { onGetLabel?.([]); } } else { if (event) onGetLabel?.(getLabelName({ list: data, status: event, idKey, nameKey })); else onGetLabel?.(""); } onChange?.(event, option); }; useEffect(() => { onGetData?.(data); }, [data]); return ( ); } BasicSelect.displayName = "BasicSelect"; export default BasicSelect;