使用antd design vue组件库时,一些默认提示为英文,要将英文汉化,以DatePicker为例
这里未把Today,select time等汉化的效果:
后来查找了很多文档,按照文档把其中一个日期选择框的Today给汉化了,具体的步骤如下:
1.引入
import moment from 'moment';
import 'moment/locale/zh-cn';
moment.locale('zh-cn');
2.在data中初始化定义,并把自己想汉化的内容重新设置,如我想把日期选择框里的Today变成汉字,就写locale: {
"lang": {
"today": "今天",
}
}
data() {
return {
moment,
locale: {
"lang": {
"today": "今天",
}
}
}
}
3.动态绑定 :locale=locale
<a-date-picker :locale=locale v-model="timevalue" placeholder="选择起报时间" class="updateTime" @change="onChangeTime" />
最后在查看效果的时候发现Today确实是被汉化了,但是又引起了新的问题,时间又变成了乱七八糟的东西,如下显示,后来这个问题就没再解决
今天小姐姐又让我改这个问题,没办法只能过来重新百度,没想到最近解决了,开心~
其中参考了两篇文档,链接如下 :
antd 时间选择器,设置显示为中文_前端大脸的博客-CSDN博客
Ant Design时间选择框汉化问题总结------国际化_美林林的博客-CSDN博客_ant design 日期选择器中文
仔细观察后发现他们的解决方式都是在日期选择框外面包了一层东西,无意间看到这个标签LocaleProvider,于是我antd design vue搜了一下果真有这东西,然后就开始看起文档,之前还真没有发现过这个标签~
按照官网的提示开始实现:
1.在需要汉化的组件页面中引入如下代码:
import moment from 'moment';
import 'moment/locale/zh-cn';
import zh_CN from 'ant-design-vue/lib/locale-provider/zh_CN';
moment.locale('zh-cn');
export default {
data() {
return {
zh_CN,
};
},
};
2.使用<a-locale-provider :locale="zh_CN"> <App /> </a-locale-provider>标签把日期选择框包裹起来,这里的<App />可以放日期选择框组件
<p>日期:</p>
<a-locale-provider :locale="zh_CN">
<a-date-picker format="YYYY-MM-DD HH:mm:SS" v-model="timeValue" show-time placeholder="请选择日期" @change="onChangeData" @ok="onOk" class="timePick" />
</a-locale-provider>
最终的效果如下:
奥利给!!!