成果
1. 代码
加以下办法的判断 lastLevelResetNull可管制是否展现或不展现数据
init = () => {
// 楼层会议室配置-大厦接口
FloorguideAction.floorGuideMeetingBuildListTo({}).then((results) => {
if (!results.success) {
message.error("接口谬误", 0.5);
return;
}
let { data = [] } = results;
this.setState({
data: this.lastLevelResetNull(data),
});
});
};
// 用来解决抉择完的大厦和楼层 再次新增就不可选的性能 lastLevelResetNull--> 最初一级重置为空
lastLevelResetNull = (data = []) => {
let result = [..._.cloneDeep(data)];
const loop = (re) =>
re.map((item) => {
// 判断每一项的disabled的属性is_save是否是true 如果是true就不能抉择
item.disabled = item.is_save === "true";
if (!_.isEmpty(item.children)) {
loop(item.children);
} else {
item.children = void 0;
}
});
if (!_.isEmpty(result)) {
loop(result);
}
return result;
};
render() {
let { data = [] } = this.state;
return (
<Cascader
options={data}
notFoundContent={null}
allowClear={true}
{...this.props}
/>
);
}
发表回复