el-cascader 最后一级不显示出来

1、业务背景

业务需要做一个父级查询,父级查询的级联组件不显示最后一级,其他层级均显示

2、解决办法

1、页面设计见上文

TypeError: Cannot read properties of null (reading ‘level‘)

2、代码实现

// 获取父子层级列表
 async parentSelected  (val) {
   this.loading = true
   try {
     const data = await GetXXXList({
       XXX: val,
     })
     const tree = []
     const childrenOf = {}
     ++this.isChangeSelectKeyNum
     data.forEach((item) => {
       const newItem = { ...item }
       const { PId } = newItem
       childrenOf[newItem.Id] = childrenOf[newItem.Id] || []
       newItem.children = childrenOf[newItem.Id]
       if (PId) {
         childrenOf[PId] = childrenOf[PId] || []
         if (newItem.children.length > 0) {
           childrenOf[PId].push({ value: newItem.Id, label: newItem.Name, children: newItem.children })
         } else {
           childrenOf[PId].push({ value: newItem.Id, label: newItem.Name })
         }
       } else {
         tree.push({ value: newItem.Id, label: newItem.Name, children: newItem.children })
       }
     })
     this.options = tree
   } catch (error) {
     this.options = []
   }
   this.loading = false
 },

通过对options的数据源处理,将数据源这棵“树”构造成不含最后一级,只有其所有父级,依次需求得以实现。

若本文有帮助到阅读本文的同学,欢迎点赞、关注、收藏,互相学习交流

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GoodTimeGGB

鼓励一下!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值