antd Cascader 联动选择框 选过之后保存 ,再选刚刚选择的数据重置为不可选 disabled

antd Cascader 联动选择框 选过之后保存 ,再选刚刚选择的数据重置为不可选 disabled_第1张图片 效果

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 (
      
    );
  }

你可能感兴趣的:(antd Cascader 联动选择框 选过之后保存 ,再选刚刚选择的数据重置为不可选 disabled)