vue3 element plus 异步树反显

                    <el-tree-select
                      v-model="commodityInfoForm.categoryCode"
                      lazy
                      node-key="catCode"
                      :props="{ label: 'catName', isLeaf: 'leaf' }"
                      :cache-data="treeCacheData"
                      :load="loadTree"
                      check-strictly
                      :default-expanded-keys="defaultExpandedKeys"
                    /> 
// 动态生成 cache-data
const treeCacheData = computed(() => {
  if (commodityInfoForm.value.categoryCode && commodityInfoForm.value.categoryName) {
    return [
      {
        catName: commodityInfoForm.value.categoryName,
        catCode: commodityInfoForm.value.categoryCode,
      },
    ];
  }
  return [];
});

const loadTree = (node: Node, resolve: (data: CommodityCatTree[]) => void) => {
  if (node.level === 0) {
    getCommodityCat({ parentCode: "0" })
      .then((res: any) => {
        if (res.result && res.result.length) {
          defaultExpandedKeys.value = [res.result[0].catCode];
          return resolve(res.result);
        }
        return resolve([]);
      })
      .catch(() => {
        return resolve([]);
      });
  } else {
    getCommodityCat({ parentCode: node.data.catCode })
      .then((res: any) => {
        return resolve(res.result || []);
      })
      .catch(() => {
        return resolve([]);
      });
  }
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值