Vue+element-china-area-data实现省市区三级联动

 安装依赖

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

引用

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
 省市二级联动(不带“全部”选项):
<template>
  <div id="app">
    <el-cascader
      size="large"
      :options="options"
      v-model="selectedOptions"
      @change="handleChange">
    </el-cascader>
  </div>
</template>
 
<script>
  import { provinceAndCityData } from 'element-china-area-data'
  export default {
    data () {
      return {
        options: provinceAndCityData,
        selectedOptions: []
      }
    },
 
    methods: {
      handleChange (value) {
        console.log(value)
      }
    }
  }
</script>
省市二级联动(带“全部”选项):
<template>
  <div id="app">
    <el-cascader
      size="large"
      :options="options"
      v-model="selectedOptions"
      @change="handleChange">
    </el-cascader>
  </div>
</template>
 
<script>
  import { provinceAndCityDataPlus } from 'element-china-area-data'
  export default {
    data () {
      return {
        options: provinceAndCityDataPlus,
        selectedOptions: []
      }
    },
 
    methods: {
      handleChange (value) {
        console.log(value)
      }
    }
  }
</script>
省市三级联动(不带“全部”选项):
<template>
  <div id="app">
    <el-cascader
      size="large"
      :options="options"
      v-model="selectedOptions"
      @change="handleChange">
    </el-cascader>
  </div>
</template>
 
<script>
  import { regionData } from 'element-china-area-data'
  export default {
    data () {
      return {
        options: regionData,
        selectedOptions: []
      }
    },
 
    methods: {
      handleChange (value) {
        console.log(value)
      }
    }
  }
</script>
省市三级联动(带“全部”选项):
<template>
  <div id="app">
    <el-cascader
      size="large"
      :options="options"
      v-model="selectedOptions"
      @change="handleChange">
    </el-cascader>
  </div>
</template>
 
<script>
  import { regionDataPlus } from 'element-china-area-data'
  export default {
    data () {
      return {
        options: regionDataPlus,
        selectedOptions: []
      }
    },
 
    methods: {
      handleChange (value) {
        console.log(value)
      }
    }
  }
</script>

CodeToText的使用

getCodeToText(codeStr, codeArray) {
      if (null === codeStr && null === codeArray) {
        return null;
      } else if (null === codeArray) {
        codeArray = codeStr.split(",");
      }

      let area = "";
      switch (codeArray.length) {
        case 1:
          area += CodeToText[codeArray[0]];
          break;
        case 2:
          area += CodeToText[codeArray[0]] + "/" + CodeToText[codeArray[1]];
          break;
        case 3:
          area +=
            CodeToText[codeArray[0]] +
            "/" +
            CodeToText[codeArray[1]] +
            "/" +
            CodeToText[codeArray[2]];
          break;
        default:
          break;
      }
      return area;
    }
 CodeToText的使用报错解决

下载的时候默认下载最新版本的, 稳定版本5.0.2版本才可以

npm install element-china-area-data@5.0.2  -S

 

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-12 23:24:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-12 23:24:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-12 23:24:02       87 阅读
  4. Python语言-面向对象

    2024-01-12 23:24:02       96 阅读

热门阅读

  1. 基于人脸识别的智慧校园方案—总述

    2024-01-12 23:24:02       54 阅读
  2. React16源码: React中的update和updateQueue的源码实现

    2024-01-12 23:24:02       53 阅读
  3. WebSocket的11个面试常见知识点

    2024-01-12 23:24:02       54 阅读
  4. 【pycharm】常见问题与解决

    2024-01-12 23:24:02       61 阅读
  5. 关于原地 删除数组中的元素(算法题)

    2024-01-12 23:24:02       57 阅读
  6. 聊一聊synchronized

    2024-01-12 23:24:02       60 阅读
  7. /usr/bin/ld: 找不到 -lpose_utils报错

    2024-01-12 23:24:02       65 阅读
  8. dirty file page

    2024-01-12 23:24:02       45 阅读
  9. 一个神奇的SQL聚合查询案例

    2024-01-12 23:24:02       52 阅读
  10. 46. 全排列(回溯)

    2024-01-12 23:24:02       56 阅读
  11. 运筹学视角下的市场机制设计

    2024-01-12 23:24:02       47 阅读