import { Select } from "antd"; import React, { Component, useState, useEffect } from "react"; let { Option } = Select; const Cascader = ({ value, onChange, option, resetkey, form, mode, placeholder, rowkey, disabledlist, setvalueEnum, }) => { const [innerOptions, setOptions] = useState([]); useEffect(() => { if (Array.isArray(option)) { setOptions(() => { let valueEnum = {}; let options = option.map((it) => { let val = rowkey ? it[rowkey] : it.value; valueEnum[val] = { text: it.label, }; return { label: it.label, value: val, disabled: disabledlist && disabledlist.some( (item) => item == it[rowkey] || item == it.label ), }; }); setvalueEnum && setvalueEnum(valueEnum); return options; }); } else { option.database(option.params).then((res) => { setOptions(() => { let valueEnum = {}; let options = res.data.dataList.map((it) => { let val = rowkey ? it[rowkey] : it.value; valueEnum[val] = { text: it.label, }; return { label: it.label, value: val, disabled: disabledlist && disabledlist.some( (item) => item == it[rowkey] || item == it.label ), }; }); setvalueEnum && setvalueEnum(valueEnum); return options; }); }); } }, [JSON.stringify(option)]); return (