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

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

目录
相关文章
element中el-cascader级联 下拉选择-可单独多选(整理)
element中el-cascader级联 下拉选择-可单独多选(整理)
|
9月前
element 下拉菜单el-dropdown如何更改样式?
element 下拉菜单el-dropdown如何更改样式?
518 0
el-form-item 内的 el-select如何自适应宽度
el-form-item 内的 el-select如何自适应宽度
|
JavaScript 数据格式
VUE element-ui下拉菜单el-select获取label值或value的值
VUE element-ui下拉菜单el-select获取label值或value的值
1545 0
VUE element-ui下拉菜单el-select获取label值或value的值
Element el-button 按钮组件详解
本文目录 1. 背景 2. 按钮分类 3. 按钮样式 4. 按钮状态 5. 按钮分组 6. 按钮尺寸 7. 小结
2431 0
Element el-button 按钮组件详解
el-input el-select调整字体及内边距
1. 背景 el-input输入框默认提供的字体较小,且内边距较大。 这是为了提供统一的样式和好看的外观。 在某些情况下,我们希望使用较大的字体,且让输入框的内边距小一些以便容纳更多东西。
2295 0
|
2月前
|
数据库
vue+elementui中,el-select多选下拉列表中,如何同时获取:value和:label的值?
vue+elementui中,el-select多选下拉列表中,如何同时获取:value和:label的值?
22 0
elementui中el-checkbox 选中时的详细介绍
elementui中el-checkbox 选中时的详细介绍
|
10月前
|
资源调度
动态表单:el-form-renderer
动态表单:el-form-renderer
76 0
|
5月前
|
前端开发
el-option样式改变以及多个el-option无法并列问题详解(element-plus+Vue3)
el-option样式改变以及多个el-option无法并列问题详解(element-plus+Vue3)
77 0