element UI Cascader 动态加载 lazyload 及 回显

本文详细介绍了如何在ElementUI的Cascader组件中实现动态加载数据的懒加载功能,通过设置props和使用getCheckedNodes()方法,可以有效地按需加载数据,提高应用性能。文章还提供了获取选中节点中文值的方法。
element UI Cascader 动态加载 lazyload
页面

在这里插入图片描述

回显: 使用 :placeholder属性(完美避过 嘻嘻)

在这里插入图片描述

数据: 一级省要给初始默认值: options

在这里插入图片描述

懒加载: lazy: true, leaf 为true 结束 节点, element 提供的 props 中的属性和方法
data是个函数 注意调用方法时的 this指向

在这里插入图片描述在这里插入图片描述

观察值的变化 , 下面的函数可以监听获取 节点ID&&中文值

在这里插入图片描述

获取中文值 label
 this.$refs['invoice'].getCheckedNodes()[0].parent.parent.label  //省
        this.$refs['invoice'].getCheckedNodes()[0].parent.label //市
        this.$refs['invoice'].getCheckedNodes()[0].label //区
  props: {
        value: 'area_id',
        label: 'name',
        lazy: true,
        lazyLoad(node, resolve) {
          const level = node.level
          if (level === 1) {
            const id = node.value
            _self.$apis.user.getArea({ parent_id: id }).then(res => {
              const { code, msg } = res
              const { list } = res.data
              if (code === 0) {
                const nodes = list
                resolve(nodes)
              } else {
                this.$message.error(msg)
              }
            })
          } else if (level == 2) {
            console.log(node.level)
            const id = node.value
            _self.$apis.user.getArea({ parent_id: id }).then(res => {
              const { code, msg } = res
              const { list } = res.data
              if (code === 0) {
                const nodes = list
                nodes.forEach(item => {
                  item.leaf = level >= 2
                })
                resolve(nodes)
              }
            })
          }
        }
      }
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值