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

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

    原文链接

  • 相关阅读:
    CAS:146185-77-5,mPEG-Alkyne,甲氧基-聚乙二醇-炔基PEG试剂供应
    LeetCodeTop100(一)
    云原生主题学习月|成为社区领学员,解锁专属奖励及超多数量社区学员奖品!
    Toaster、AndroidUtilCode-ToastUtils、Toasty框架对比
    shiro-登录验证
    Stable Diffusion插件(翻译)
    青鸾剪辑-全自动视频混剪,批量剪辑批量剪视频,探店带货系统,精细化顺序混剪,故事影视解说,视频处理大全,精细化顺序混剪,多场景裂变,多视频混剪
    美术2.4 UV原理基础
    centos7安装mysql
    netty-reacter写一个http服务器
  • 原文地址:https://blog.csdn.net/qq_44114187/article/details/134442378