问题描述:data中定义的中文切换为英文时,不会变为英文。原因:因为data中的数据在初始化的时候是一次性加载的,所以不会响应,只能获取到原始值。解决方案:比如data中定义的array数组,html中渲染,将array数组放入计算属性computed:{mapSex(){return[{sexKey:"all",sexName:this.$t('system.traffic.txt_10')},{sexKey:"man",sexName:this.$t('system.traffic.txt_11')},{sexKey:"woman",sexName:this.$t('system.traffic.txt_12')},]},}也在data中定义,但是不要使用国际化函数$t(),使用data(){return{mapSex:[{sexKey:"all",sexName:'system.traffic.txt_10'},{sexKey:"man",sexName:'system.traffic.txt_11'},{sexKey:"woman",sexName:'system.traffic.txt_12'},],}}{{$t(item.sexName)}}**总结:第一种方法也是可以的,但是如果数据中有很多数据,将它们定义为计算属性不太现实。推荐使用第二种方式**同理:element-uiformformcalibrationValidationrules也可以放入computedcondFormRules(){//boundinform:rules="condFormRules"varvalidateBudget=(rule,value,callback)=>{if(!value||!Number(value)){callback(newError(this.$t('system.traffic.msg_4')));}elseif(!isNumDecimal(value)){callback(newError(this.$t('system.traffic.msg_5')));}else{回调();}};让rules={name:[{required:true,message:this.$t('system.traffic.msg_2'),trigger:['blur','change']},],budget:[{required:true,validator:validateBudget,trigger:'blur'},],}返回规则//记得返回},