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

简介: # 1、业务背景业务需要做一个父级查询,父级查询的级联组件不显示最后一级,其他层级均显示# 2、解决办法## 1、页面设计见上文[TypeError: Cannot read properties of null (reading ‘level‘)](https://blog.csdn.net/sunshineGGB/article/details/134288426?spm=1001.2014.3001.5501)## 2、代码实现```javascript// 获取父子层级列表 async parentSelected (val) { this.loading

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的数据源处理,将数据源这棵“树”构造成不含最后一级,只有其所有父级,依次需求得以实现。

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

目录
相关文章
|
缓存 JavaScript UED
深入了解 keep-alive:作用、使用步骤、适用场景及示例代码
keep-alive 是 Vue.js 中的一个内置组件,`用于缓存不活动的组件实例,避免重复渲染 DOM,从而提高性能和用户体验`。
|
存储 Serverless
MATLAB实战 | 梯形积分法
在科学实验和工程应用中,函数关系往往是不知道的,只有实验测定的一组样本点和样本值,这时就无法使用integral函数计算其定积分。
721 1
|
测试技术
McCabe度量法
McCabe度量法
534 0
|
存储 开发工具 git
【SourceTree】Your local changes to the following files would be overwritten by merge【解决办法】
【SourceTree】Your local changes to the following files would be overwritten by merge【解决办法】
【el-cascader-plus亲测有限】el-cascader级联选择器懒加载+多选功能回显失败解决方案
【el-cascader-plus亲测有限】el-cascader级联选择器懒加载+多选功能回显失败解决方案
1280 0
|
8月前
|
算法 编译器 C++
【狂热算法篇】探秘图论之Dijkstra 算法:穿越图的迷宫的最短路径力量(通俗易懂版)
【狂热算法篇】探秘图论之Dijkstra 算法:穿越图的迷宫的最短路径力量(通俗易懂版)
|
JavaScript 前端开发
React craco 解决 webpack < 5 used to include polyfills for node.js core ...
React craco 解决 webpack < 5 used to include polyfills for node.js core ...
885 0
echarts如何设置滚动条(dataZoom),实现横向或纵向滚动
echarts如何设置滚动条(dataZoom),实现横向或纵向滚动
echarts如何设置滚动条(dataZoom),实现横向或纵向滚动
MATLAB-Simulink仿真实现OFDM通信系统
【8月更文挑战第7天】本文介绍了在MATLAB-Simulink环境中实现OFDM通信系统仿真的方法,包括发送机、信道和接收机的设计,支持BPSK、QAM等多种调制方式,并考虑了Rician、AWGN、Rayleigh等信道模型。
800 12
MATLAB-Simulink仿真实现OFDM通信系统
|
11月前
|
安全 前端开发 Java
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第26天】Web安全是现代软件开发的重要领域,本文深入探讨了XSS和CSRF两种常见攻击的原理及防御策略。针对XSS,介绍了输入验证与转义、使用CSP、WAF、HTTP-only Cookie和代码审查等方法。对于CSRF,提出了启用CSRF保护、设置CSRF Token、使用HTTPS、二次验证和用户教育等措施。通过这些策略,开发者可以构建更安全的Web应用。
516 4