基于element的Cascader的省市县联动

  接到了一个简单的需求,就是要做一个简单的省市县三联动。这种网上肯定会有相对应的代码。所以就不自己写了。找到了,首先是安装

1 cnpm install element-china-area-data -S

然后就是应用了。然后在过程中,发现了一个小问题,就是只能获取到选中的value,但是没有获取到选中的label,然后去网站上搜索,搜到了两个也不知道博主再说什么。然后自己去研究element的说明文档,真的还发现了能利用的。先把文档放上 ,然后大家看下截图

 

 

getCheckedNodes就能获取到,现在选中的节点,这个节点中就包含了,现在选中的所有的信息。我把打印的信息的截图,简单的给大家看下。

 

这里就能看到,选中的节点的内容了,就能获取到选中的label。下面把整个的代码都给出来;

 1 <template>
 2     <div id="ssx">
 3         <p>省市县三级联动测试</p>
 4         <el-cascader
 5             size="large"
 6             :options="options"
 7             v-model="selectedOptions"
 8             @change="handleChange"
 9             ref="shengshi"
10         ></el-cascader>
11     </div>
12 </template>
13 <script>
14 import {
15   provinceAndCityData,
16   regionData,
17   provinceAndCityDataPlus,
18   regionDataPlus,
19   CodeToText,
20   TextToCode
21 } from "element-china-area-data";
22 export default {
23   name: "ssx",
24   data() {
25     return {
26       options: provinceAndCityData,
27       selectedOptions: ['130000', '130300']// 这里直接赋值,就能回显
28     };
29   },
30   props: {},
31   mounted() {
32     console.log(provinceAndCityData);
33   },
34   components: {},
35   computed: {},
36   methods: {
37     handleChange() {
38       
39       console.log(this.selectedOptions);
40       var arr = this.$refs.shengshi.getCheckedNodes();
41       console.log(arr); // 这里就是获取到的所有的数据。就能从中获取到想要的label和value
42     }
43   }
44 };
45 </script>
46 <style lang="scss" scoped>
47 </style>

 

 

 

 

 

posted @ 2021-12-01 11:34  程先生哈  阅读(190)  评论(0编辑  收藏  举报