el-cascader动态加载次级选项 (省市县)

首先获取所有的省份数据,在点击省份过后加载该省下所有市级数据,点击市加载该市下所有县级数据,利用el-cascade的active-item-change事件实现动态拉取下级选项

<el-cascader v-model="projectInfo.position" placeholder="请选择省市县" style="width: 100%" :options="provinceList" @active-item-change="handleItemChange" :props="props"></el-cascader>
//data
provinceList: [],     //省市县列表
props: {
   value: 'value', children: 'cities'},

后台接口设计——不传值返回所有省份数据,传省份id(province_id)返回该省份下所有市级数据,传省份id(province_id)和市区id(city_id)返回该市下所有县级数据

 getPosition(val, cb) {
   
        let vm = this; //查询省市县
        let params = {
   };
        if(!val) {
    //初始化加载 获取所有省份数据
          params = {
   }
        } else if (val
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
el-cascader组件可以通过动态加载次级选项的方法来实现。一种常见的方法是利用地址传递的方式,通过动态修改options来实现。例如,可以在options中绑定一个变量,并通过修改这个变量的值来动态更新次级选项。 另一种方法是使用v-if来控制el-cascader组件的显示与隐藏。可以给el-cascader组件添加v-if="editCascaderVisible",只有在满足条件时才显示组件。通过改变editCascaderVisible的值,可以触发el-cascader组件重新渲染,从而实现动态加载次级选项的效果。 总体来说,目前网上提供的解决办法主要有两种思路。一种是手动调用后端接口,逐个获取下一层的选项并拼接成树结构,然后将生成的树结构赋值给el-cascader组件的options选项。另一种是每次重新渲染el-cascader组件,将其当作首次加载来处理,以触发lazyLoad方法。第二种方法更为简便和推荐。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Element中的Cascader(级联列表)动态加载省\市\区数据的方法](https://download.csdn.net/download/weixin_38546024/14905688)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [el-cascader 动态加载选项、编辑时数据回显问题 、单选不加载下一级节点、点击标签选中](https://blog.csdn.net/qq_16382227/article/details/129735904)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值