element ui 级联选择器 动态加载数据

HTML

<el-cascader :props="props"></el-cascader>

data 

props:{
          lazy:true,
          lazyLoad:this.lazyLoad
          
        }

methods

先请求第一个节点接口的数据  在根据第一个节点的数据当做参数请求第二个节点的接口数据

lazyLoad (node,resolve) {
        this.getData(node,resolve)
},
async getData (node,resolve) {
        let level = node.level
        if(!node.data) {
          let res = await services.material.warehouseInfo({params:1})
          const nodes = Array.from(res.data).map(item=>({
            value:item.warehouseCode,
            label:item.warehouseName,
            leaf: level >= 1

          }))
          resolve(nodes)
        }else{
          let res = await services.material.warehouseAreaList({params:1,warehouseCode:node.data.value})
          const nodes = Array.from(res.data).map(item=>({
            value:item.areaCode,
            label:item.areaName,
            leaf: level >= 1

          }))
          resolve(nodes)
        }
      }

Element UI提供了懒加载的功能,可以实现二级联动下拉框的懒加载。在懒加载的过程中,可以根据用户的选择动态加载对应的数据。 一种实现方式是在第一级下拉框的单击事件中获取到第一级下拉框的id值,然后遍历包含所有数据的一级分类集合,找到和当前选中的一级分类id值相等的那个对象,将其children属性赋值给第二级下拉框的数据源。这样就实现了根据第一级下拉框的选择动态加载第二级下拉框的数据。\[1\] 另一种方式是在页面初始化时获取整个级联下拉框的数据,并将其定义为一个变量。在初始化渲染时只渲染第一级下拉框,当需要加载第二级下拉框的数据时,直接遍历该变量的数据,取出对应的第二级下拉框的数据进行渲染,无需发送请求。这种方式可以提高效率。\[2\] 在实现过程中,可以使用Element UI提供的cascaderProps属性来配置懒加载的相关参数,如lazy和lazyLoad。lazy设置为true表示开启懒加载,lazyLoad指定一个方法来处理懒加载的逻辑。在lazyLoad方法中,根据节点的层级来判断需要加载数据,并通过resolve方法将加载数据返回。\[3\] 以上是关于Element UI级联动下拉框懒加载的一些实现方式和方法。希望对你有帮助。 #### 引用[.reference_title] - *1* [vue实现下拉框二级联动效果](https://blog.csdn.net/qq_34953053/article/details/126947498)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [elementUI级联下拉懒加载动态加载)](https://blog.csdn.net/qq_45473377/article/details/119953321)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [el-cascader三级联动懒加载回显问题](https://blog.csdn.net/liuwenjie_/article/details/126279731)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值