本文参考:element-china-area-data - npm
npm install element-china-area-data -S
- import { provinceAndCityData, regionData, provinceAndCityDataPlus, regionDataPlus, CodeToText, TextToCode } from 'element-china-area-data'
-
- <div id="app">
- <el-cascader
- size="large"
- :options="options"
- v-model="selectedOptions"
- @change="handleChange">
- el-cascader>
- div>
-
- <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>
value是区域码"110000"
参考:element-ui CodeToText的使用-CSDN博客
数据示例:codeStr=‘110000,110100,110101’, codeArray=[110000,110100,110101]
- 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;
- }
效果: