• 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. }

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

    原文链接

  • 相关阅读:
    pinia中使用@vueuse/core库的useStorage做数据的持久化存储
    谷歌浏览查询http被自动转化成https导致页面读取失败问题处理
    浅谈齿轮行业MES解决方案的模块和功能
    基于EXCEL数据表格创建省份专题地图
    数字孪生技术在工业制造领域的研究与实践
    c++类型转换
    JS函数function
    关于工作中爬取网站的一些思路记录
    Java基础---第九篇
    Mac 上 VMvare 虚拟机 Centos 上的 Docker 容器中的文件夹共享到 Mac 实体机
  • 原文地址:https://blog.csdn.net/qq_44114187/article/details/134442378