vue+ElementPlus实现中国省市区三级级联动封装

安装插件获取中国省份的所有数据

javascript 复制代码
 npm install element-china-area-data -S

借助ElementPlus 级联选择器 Cascader实现

javascript 复制代码
<template>
    <div>
     <el-cascader
          size="large"
          :options="options"
          v-model="selectedOptions"
          @change="handleChange">
        </el-cascader>
        {{  selectedOptions  }}

    </div>
</template>

<script setup lang="ts">
import { ref } from 'vue'
import { regionData ,codeToText } from 'element-china-area-data'
const options = ref(regionData)  //数据
const selectedOptions = ref([]) //选中的数据
//当选中值变化时触发的事件
const handleChange=(value:any) =>{
    console.log(value) //区域码
     if (
        selectedOptions.value[0] != null &&
        selectedOptions.value[1] != null &&
        selectedOptions.value[2] != null
    ) {
        const str =
            codeToText[selectedOptions.value[0]] +
            '/' +
            codeToText[selectedOptions.value[1]] +
            '/' +
            codeToText[selectedOptions.value[2]]
        console.log(str)  //中文
    }
}

</script>

<style lang="scss" scoped>

</style>
实现效果
相关推荐
传人once4 小时前
页面中心圆圈放大效果如何写
开发语言·javascript·ecmascript
用户033307413955 小时前
TypeScript using 与 AsyncDisposableStack:在真实服务端代码中协调多资源清理
前端
web3d5205 小时前
Vue3 地图白屏排查清单:容器、弹窗与 ol-viewport 重复创建
vue.js·gis
daisychey5 小时前
用 Playwright 做多平台内容分发,我踩过的 8 个坑
前端
IT_陈寒6 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端
大龄秃头程序员6 小时前
iOS冷启动监控Demo
前端
光影少年6 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法
掘金酱7 小时前
[稀土掘金 × 火山引擎] AI用量周榜冲刺赛|获奖名单公示
前端·人工智能·后端
泡泡oO7 小时前
“如果你还在用Superpowers,那我不要和你说话”
前端·后端·全栈
维克兜率天7 小时前
趋势过滤:避免被“假突破“反复打脸
前端