前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Antd Vue LocaleProvider国际化组件zh_CN中文配置

Antd Vue LocaleProvider国际化组件zh_CN中文配置

作者头像
德顺
发布2019-12-30 18:21:35
4.6K0
发布2019-12-30 18:21:35
举报
文章被收录于专栏:前端资源前端资源

Antd Design Vue 官方说明,DatePicker、MonthPicker、RangePicker、WeekPicker 等插件的部分 locale 是从 value 中读取,目前的默认文案是英文,如果需要使用其他语言,需要通过下面的方案正确设置 moment 的 locale。

官方文档推荐在入口文件(main.js)全局设置 locale :

代码语言:javascript
复制
import moment from 'moment';
import 'moment/locale/zh-cn';
moment.locale('zh-cn');

前端组件这样写:不过我使用时遇到一个问题,使用 defaultValue 属性时报错,删掉就好了。

代码语言:javascript
复制
<a-date-picker :defaultValue="moment('2015-01-01', 'YYYY-MM-DD')" />

完成上面的步骤后,日期组件还有部分显示英文,并且年月顺序错误。最后发现,Ant Design Vue 有一个国际化设置,需要在入口文件(App.vue)中引入组件 LocaleProvider 用于全局配置国际化方案。

代码语言:javascript
复制
<template>
  <a-locale-provider :locale="locale">
    <App />
  </a-locale-provider>
</template>

<script>
  import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN';
  export default {
    data() {
      return {
        locale: zhCN,
      };
    },
  };
</script>

也可以直接都写到 App.vue 中:

代码语言:javascript
复制
<template>
  <a-locale-provider :locale="locale">
    <App />
  </a-locale-provider>
</template>
 
<script>
import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN';
import moment from 'moment';
import 'moment/locale/zh-cn';
moment.locale('zh-cn');
export default {
  data() {
    return {
      locale: zhCN,
    }
  }
}
</script>

因为是配置中文,可以直接将 local 设置为 zhCN:

代码语言:javascript
复制
<template>
  <a-locale-provider :locale="zhCN">
    <App />
  </a-locale-provider>
</template>
 
<script>
import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN';
import moment from 'moment';
import 'moment/locale/zh-cn';
moment.locale('zh-cn');
export default {
  data() {
    return {
      zhCN,
    }
  }
}
</script>

这样以上组件既可以显示中文了。

期间遇到一个小问题,如果您项目中没有安装 moment 库也是不可以的,需要安装 moment ,这是一个日期格式化组件。

在项目根目录键入以下命令并回车:

代码语言:javascript
复制
npm i -S moment

根据网上的资料:

1、注册 moment 组件:(main.js)

代码语言:javascript
复制
Vue.prototype.$moment = moment;

一般我们只需要日期格式化即可:moment(要格式化的内容).format("YYYY-MM-DD HH:mm:ss")  

2、也有人说 moment 只能在格式化的页面中引入,不能全局引入。

具体的使用方法,待我进一步测试。

本文已加入 腾讯云自媒体分享计划 (点击加入)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档