element-china-area-data文字、编码转换

本文介绍了在使用Element UI的中国地区数据时,如何进行文字与编码之间的转换。在前端开发中,涉及到区域数据选择,通常会遇到从编码到文字的显示问题。文章提到,在事件处理中应用`CodeToText`方法将编码转化为文字以便正常显示,而在回显值时,由于值已经是文字形式,需要使用`TextToCode`将其转为编码。该内容主要适用于JavaScript、Vue.js和前端开发领域的实践。
摘要由CSDN通过智能技术生成

html相关

	<el-cascader
	    :options="options"
	     v-model="selectedOptions"
	     @change="addressChange"
	     clearable
	     class="PVC"
	     size="large"
	 >
	 </el-cascader>

引入相关转换方法

import {regionData, CodeToText, TextToCode} from 'element-china-area-data'
regionData 代表省市区值 赋值给options

默认是编码形式。所以在改变事件就用CodeToText将值改变成文字形式,否则添加的值是编码形式的。

addressChange(arr) {
                this.ruleForm.position = `${CodeToText[arr[0]]}/${CodeToText[arr[1]]}/${
                    CodeToText[arr[2]]
                }`
            },

当回显时值,值是文字形式所以回显不出来,用TextToCode转换成文本。

handleEdit() {
                if (this.multiple.length === 1) {
                    this.dialogVisible = true;
                    this.$nextTick(() => {
                        let multiples = JSON.parse(JSON.stringify(this.multiple[0]));
                        //由于在添加和修改时将区域和详细地址合并
                        //所以回显时就需要再次将值拆分 分别赋值给对应的字段
                        let positionAll = multiples.position.split('-');
                        let priva = positionAll[0];
                        let arr = priva.split('/');
                        let c = {};
                        let d = [];
                        for (let i = 0; i <= arr.length - 1; i++) {
                            if (i === 0) {
                                c = TextToCode[arr[i]];
                                d.push(c.code)
                            } else {
                                c = c[arr[i]];
                                d.push(c.code)
                            }
                        }
                        this.selectedOptions = d;
                        this.ruleForm.position = this.selectedOptions;
                        this.iptval = positionAll[1];
                        this.ruleForm = multiples
                    })
            },
            ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值