vue element Cascader级联选择器解决最后一级显示空白问题

 更新时间:2023年10月09日 09:03:17   作者:王博wangbo  
这篇文章主要介绍了vue element Cascader级联选择器解决最后一级显示空白问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1.遇到的问题

级联选择器,发现每个层级的最后一层总是显示为无数据。

预期效果为,当无数据时,应该不能点击展开。

2.解决思路

通过与element官网提供的数据对比后发现,当子级为空时,后台应该不返回children这一层级了,前端暂时处理下数据。

 // 格式化数据源
    this.options = this.formatData(data)
    // 格式化数据,递归将空的children置为undefined
    formatData(data) {
      for (var i = 0; i < data.length; i++) {
        if (data[i].children.length < 1) {
          data[i].children = undefined
        } else {
          this.formatData(data[i].children)
        }
      }
      return data
    }

3.完整代码

<template>
  <div class="white-body-view">
    <el-cascader v-model="value" :options="options" />
  </div>
</template>
<script>
export default {
  data() {
    return {
      options: [],
      value: ''
    }
  },
  created() {
    this.initData()
  },
  methods: {
    initData() {
      const data = [
        {
          value: 'zhinan',
          label: '指南',
          children: [{
            value: 'shejiyuanze',
            label: '设计原则',
            children: []
          }, {
            value: 'daohang',
            label: '导航',
            children: []
          }]
        },
        {
          value: 'ziyuan',
          label: '资源',
          children: []
        }]
      this.options = this.formatData(data)
    },
    formatData(data) {
      for (var i = 0; i < data.length; i++) {
        if (data[i].children.length < 1) {
          data[i].children = undefined
        } else {
          this.formatData(data[i].children)
        }
      }
      return data
    }
  }
}
</script>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue 处理异步加载顺序问题之如何在Konva中确保文本在图片之上显示

    Vue 处理异步加载顺序问题之如何在Konva中确保文本在图片之上显示

    在处理Konva中的异步加载顺序问题时,确保在图像加载完成后再添加其他元素是关键,通过将回调函数放在imageObj.onload中,并正确处理变量捕获,我们可以确保文本总是绘制在图片之上,这不仅解决了显示顺序的问题,也为未来的调试提供了明确的方向,感兴趣的朋友一起看看吧
    2024-07-07
  • vue 自动检测手机端响应式布局的五种实现

    vue 自动检测手机端响应式布局的五种实现

    本文主要介绍了vue自动检测手机端响应式布局,可以通过结合 CSS 媒体查询、Vue 的动态数据绑定、适当的第三方库、PostCSS 插件以及正确的视口设置实现,感兴趣的可以了解一下
    2024-07-07
  • VUE中常用的四种高级方法总结

    VUE中常用的四种高级方法总结

    开发vue项目的时候一般都会开发很多自定义的全局组件,下面这篇文章主要给大家总结介绍了关于VUE中常用的四种高级方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • antd vue table跨行合并单元格,并且自定义内容实例

    antd vue table跨行合并单元格,并且自定义内容实例

    这篇文章主要介绍了antd vue table跨行合并单元格,并且自定义内容实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • 安装node.js以及搭建vue项目过程中遇到的问题详解

    安装node.js以及搭建vue项目过程中遇到的问题详解

    为了让一些不太清楚搭建前端项目的小白,更快上手,下面这篇文章主要给大家介绍了关于安装node.js以及搭建vue项目过程中遇到问题的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • karma+webpack搭建vue单元测试环境的方法示例

    karma+webpack搭建vue单元测试环境的方法示例

    本篇文章主要介绍了karma+webpack搭建vue单元测试环境的方法示例,这次搭建的测试环境和开发环境隔离,所以理论上适用所有使用vue的开发环境。感兴趣的小伙伴们可以参考一下
    2018-05-05
  • vue+antd实现折叠与展开组件

    vue+antd实现折叠与展开组件

    这篇文章主要为大家详细介绍了vue+antd实现折叠与展开组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • vue全屏事件开发详解

    vue全屏事件开发详解

    这篇文章主要为大家详细介绍了vue全屏事件的开发过程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • 使用watch监听对象里面值的变化

    使用watch监听对象里面值的变化

    这篇文章主要介绍了使用watch监听对象里面值的变化,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • vue之如何实现打印功能

    vue之如何实现打印功能

    这篇文章主要介绍了vue之如何实现打印功能问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11

最新评论