动态加载区划

运用的组件是element plus 的级联选择器 ,点击上级动态加载下级数据(首次数据要自行先加载一次 ,否则初始数据是空的)
在这里插入图片描述

 <el-cascader
   v-model="areaCode"
   :options="options"
   :props="props"
   @change="handleChange"
   :show-all-levels="false"
   placeholder="请选择"
   style="width:164px;"
 />
 
<script setup>
  const queryForm = ref({
    districtCode: ''
  })
  const areaCode = ref([])
  const level = ref(0)
  const options = ref([])
  const props = {
    checkStrictly: true,
    label: 'districtName',
    value: 'districtCode',
    lazy: true,
    lazyLoad(node, resolve) {
      const { level } = node
      console.log('🚀 ~ lazyLoad ~ node:', queryForm.value.districtCode)
      if (level > 4) {
        resolve([])
        return
      }
      // 这是接口,自行改成自己的后端接口请求
      apiMonitorApiImsApiDistrictGetSubdivisionByDistrict({   
        districtCode: node.data.districtCode
      }).then((res) => {
        resolve(res.data)
      })
    }
  }
  
  const handleChange = (value) => {
    console.log(value, 'handleChange')
    areaCode.value = value
    queryForm.value.districtCode = areaCode.value[value.length - 1]
  }

</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值