级联下拉框

代码:

<a-form-item label="所在地区:" name="dbTable">
						<a-cascader v-model:value="formData.dbTable" :options="options" placeholder="请选择所在地区" :loadData="loadData" :showSearch="false" @change="onChangeCascader"/>
					</a-form-item>
...
    const options = ref([])
const getProvinceData = ()=>{
        provincialApi.provinceData().then((res)=>{
             res.forEach((item)=>{
                let economizeInfo = {}
                economizeInfo.label = item.name
                economizeInfo.value = item.id
                economizeInfo.children = []
                economizeInfo.loading = false
                economizeInfo.isLeaf = false
                options.value.push(economizeInfo)
             })
        })
    }
    //市
    const loadData = (selectedOptions)=>{
        const targetOption = selectedOptions[selectedOptions.length - 1];
        targetOption.children = []
        let params = {
            id:targetOption.value
        }
        provincialApi.queryCityData(params).then((res)=>{
            res.forEach((item)=>{
                let marketInfo = {}
                marketInfo.label = item.name
                marketInfo.value = item.id
                targetOption.children.push(marketInfo)
            })
        })
    }
    //区
    const onChangeCascader = (value,selectedOptions)=>{
        if(value){
            const targetOptions = selectedOptions[selectedOptions.length - 1];
            targetOptions.children = []
            let params = {
                id:targetOptions.value
            }
            provincialApi.queryAreaData(params).then((res)=>{
                res.forEach((item)=>{
                    let areaInfo = {}
                    areaInfo.label = item.name
                    areaInfo.value = item.id
                    targetOptions.children.push(areaInfo)
                })
            })
        }
    }

效果:
在这里插入图片描述

在这里插入图片描述

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coisini_甜柚か

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值