您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页iview级联选择器懒加载

iview级联选择器懒加载

来源:伴沃教育

html:

 <Cascader
      :data="data.treeData"
      v-model="selectVal"
      :load-data="loadData"
      @on-change="getNode"
      change-on-select
      style="width: 100%"
      ref="cascader"
      placeholder="请选择代码目录"
      @on-visible-change="visibleChange"
      clearable
    ></Cascader>

 js:

const visibleChange = (visible) => {
  if (visible) {
    data.treeData = [];
    let codeTreeData = getCodeTreeData.value.filter(
      (item) => item.type == "folder"
    );
    codeTreeData.forEach((item) => {
      data.treeData.push({
        label: item.name,
        value: item.id,
        loading: false,
        children: [],
      });
    });
  }
};
const loadData = (item, callback) => {
  item.loading = true;
  loadChildFolder(item, () => {
    // debugger;
    let children = item.children || [];
    if (children.length === 0) {
      delete item.children;
      delete item.loading;
    }
    for (let child of children) {
      loadData(child, callback);
    }
    callback();
  });
};

const loadChildFolder = (item1, callback) => {
  item1.children = [];
  let path = proxy.GlobalUrl.ANALYSIS.GETDIRDATA;
  let params = {
    projectId: window.localStorage.getItem("projectId"),
    itemId: item1.value,
  };
  proxy.http.get(path, params).then((resault) => {
    if (resault.data.code === 0) {
      item1.loading = false;
      let data = resault.data.data.directoryList;
      if (data.length > 0) {
        data.forEach((item) => {
          let tempData = {
            label: item.name,
            value: item.id,
            loading: false,
            children: [],
          };
          if (item1.children) {
            item1.children.push(tempData);
          }
        });
        callback();
      } else {
        delete item1.children;
        delete item1.loading;
      }
    }
  });
};

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务