element el-cascader 动态加载次级选项,防止重复加载,异步请求三级数据

本篇文章解决的问题:

1,绑定事件@active-item-change点击后无反应

2,需要动态加载到第三级,官网例子只给了第二级,比如(省、市、区)(顶级分类、二级分类、三级分类)

3,已经加载过的数据防止重复加载

下面是代码

欢迎留言,1小时内回复。

我已经用vue+element做过好几个大型项目,遇到过不少坑,希望能帮到有需要的人。

另外,这些博客上的视频教程真的对开发有不小的帮助,发出来的大部分我都已经看了,良心推荐

本站涉及到的资料教程资源免费提供,阅读全文即可获取下载地址
注:本站分享及资料仅供个人学习使用,禁止用于其他用途,因用户自身造成一切问题与本站无关!版权归原作者所有,本站不承担技术及版权问题,如有侵犯您的权益请联系我们删除

为您推荐

评论已关闭

32条评论

  1. 您好,为啥我的按照你这个区处理,在获取二级分类的时候报错;额 vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in callback for watcher “options”: “TypeError: options.forEach is not a function”

    found in

  2. 您好!我正在用这个级联选择器做动态加载,但是遇到的问题是层级很多不知道多少级。我该怎么去做,想请教一下

        1. 我感觉像是因为数据更新导致了 , 下拉菜单回收 , 因为第二次点相同地区 , 就不会出现这个问题

        2. 我感觉像是因为数据更新导致的 , 下拉菜单回收 , 因为第二次点相同地区 , 就不会出现这个问题

          1. 你看下你的数据结构,如果你点击的项下面没有子分类,是会直接结束选择的,就是你说的菜单回收

      1. [
        {child: Array(0)
        code: 110000
        name: “北京市”
        },
        {child: Array(0)
        code: 120000
        name: “天津市”
        }
        ]
        这是一级的数据结构,有子类但是长度为0

          1. 那这不是一级一级请求的么 , 不点击一级菜单 , 就不会有二级菜单啊

          2. 不太明白 ,getPlatCategory这个函数是初始化的一级菜单的吧 , 我能知道你的一级菜单初始化的之后数据结构是什么样子的么

          3. handleItemChange 这个函数里面的判断item.child.length === 0,如果子分类的长度不是0的话是不会请求数据的

          4. 谢谢楼主的回答啊 , 虽然我还是不理解 , 但是我用您的函数加上官网的例子给解决了 ,很感谢楼主的耐心回答。

          1. 不知道你有没有解决,我最近刚好遇到了这问题,需要在页面加载时,就获得完整的options,具体数据结构参考element官网

  3. 大神你好,element出了新版,cascader有了lazyload,能不能把这个代码改成新版的呢?现在这个似乎在新版运行有问题了。

      1. 使用lazyload,三级数据三个API完全没头绪,el的lazyload样例太简单了,大神能提供下思路吗

  4. 你好。关于级联器有个问题想问一下。
    我现在使用懒加载的方式加载了中国各个省市县区的数据。省一级的我是在json文件写死的然后加载;市、县区的是查询的数据库进行懒加载。
    需求:我想点击清空按钮后,他的目录只显示省一级的。或者直接干脆点,能不能把级联器销毁了重新创建一个。

    1. 这样做按我的思路来讲,是没有意义的啊
      我的懒加载是这样做的:
      1,请求过的数据放在缓存里面localstorage,没有请求到的没有数据, 每次点开一个新的二级,再往缓存里面塞数据
      如果要清空,你直接删除掉缓存的诗句,请求一级接口就可以