• vue 城市选择器的使用 element-china-area-data


    一、Element UI 中国省市区级联数据

    本文参考:element-china-area-data - npm

    1. 安装
    npm install element-china-area-data -S
    
    2. 使用
    1. import { provinceAndCityData, regionData, provinceAndCityDataPlus, regionDataPlus, CodeToText, TextToCode } from 'element-china-area-data'
    1. provinceAndCityData是省市二级联动数据(不带“全部”选项)
    2. regionData是省市区三级联动数据(不带“全部”选项)
    3. provinceAndCityDataPlus是省市区三级联动数据(带“全部”选项)
    4. regionDataPlus是省市区三级联动数据(带“全部”选项)
    5. “全部"选项绑定的value是空字符串”"
    6. CodeToText是个大对象,属性是区域码,属性值是汉字 用法例如:CodeToText[‘110000’]输出北京市
    7. extToCode是个大对象,属性是汉字,属性值是区域码
      用法例如:TextToCode[‘北京市’].code输出110000,TextToCode[‘北京市’][‘市辖区’].code输出110100,TextToCode[‘北京市’][‘市辖区’][‘朝阳区’].code输出110105
    3. 案例
    3.1 省市二级联动(不带“全部”选项):
    1. <script>
    2. import { provinceAndCityData } from 'element-china-area-data'
    3. export default {
    4. data () {
    5. return {
    6. options: provinceAndCityData,
    7. selectedOptions: []
    8. }
    9. },
    10. methods: {
    11. handleChange (value) {
    12. console.log(value)
    13. }
    14. }
    15. }
    16. script>
    3.2 省市二级联动(带“全部”选项):
    1. <template>
    2. <div id="app">
    3. <el-cascader
    4. size="large"
    5. :options="options"
    6. v-model="selectedOptions"
    7. @change="handleChange">
    8. el-cascader>
    9. div>
    10. template>
    11. <script>
    12. import { provinceAndCityDataPlus } from 'element-china-area-data'
    13. export default {
    14. data () {
    15. return {
    16. options: provinceAndCityDataPlus,
    17. selectedOptions: []
    18. }
    19. },
    20. methods: {
    21. handleChange (value) {
    22. console.log(value)
    23. }
    24. }
    25. }
    26. script>
    3.3 省市三级联动(不带“全部”选项):
    1. <template>
    2. <div id="app">
    3. <el-cascader
    4. size="large"
    5. :options="options"
    6. v-model="selectedOptions"
    7. @change="handleChange">
    8. el-cascader>
    9. div>
    10. template>
    11. <script>
    12. import { regionData } from 'element-china-area-data'
    13. export default {
    14. data () {
    15. return {
    16. options: regionData,
    17. selectedOptions: []
    18. }
    19. },
    20. methods: {
    21. handleChange (value) {
    22. console.log(value)
    23. }
    24. }
    25. }
    26. script>
    3.4 省市三级联动(带“全部”选项):
    1. <template>
    2. <div id="app">
    3. <el-cascader
    4. size="large"
    5. :options="options"
    6. v-model="selectedOptions"
    7. @change="handleChange">
    8. el-cascader>
    9. div>
    10. template>
    11. <script>
    12. import { regionDataPlus } from 'element-china-area-data'
    13. export default {
    14. data () {
    15. return {
    16. options: regionDataPlus,
    17. selectedOptions: []
    18. }
    19. },
    20. methods: {
    21. handleChange (value) {
    22. console.log(value)
    23. }
    24. }
    25. }
    26. script>
    4.绑定value格式
    value是区域码"110000"
    

    二、CodeToText的使用

    参考:element-ui CodeToText的使用-CSDN博客

    数据示例:codeStr=‘110000,110100,110101’, codeArray=[110000,110100,110101]

    1. getCodeToText(codeStr, codeArray) {
    2. if (null === codeStr && null === codeArray) {
    3. return null;
    4. } else if (null === codeArray) {
    5. codeArray = codeStr.split(",");
    6. }
    7. let area = "";
    8. switch (codeArray.length) {
    9. case 1:
    10. area += CodeToText[codeArray[0]];
    11. break;
    12. case 2:
    13. area += CodeToText[codeArray[0]] + "/" + CodeToText[codeArray[1]];
    14. break;
    15. case 3:
    16. area +=
    17. CodeToText[codeArray[0]] +
    18. "/" +
    19. CodeToText[codeArray[1]] +
    20. "/" +
    21. CodeToText[codeArray[2]];
    22. break;
    23. default:
    24. break;
    25. }
    26. return area;
    27. }

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

    原文链接

  • 相关阅读:
    ubuntu 校验 .desktop文件
    上周热点回顾(11.7-11.13)
    MySQL8.0物理备份恢复核心流程
    【云原生 | 10】Docker数据管理
    【JAVA】-----面向对象知识点2
    Unity2D创建帧动画片段
    qemu创建linux虚拟机(亲测有效)
    Mybatis源码解析(七):Mapper代理原理
    python如何输出 田字格
    【JavaScript复习十三】数组方法三
  • 原文地址:https://blog.csdn.net/qq_44114187/article/details/134442378