Material-ui DatePicker 汉化版

先引入DatePicker ,用了之后发现只有英文版的,然后就去看了一下源码,

发现有个叫DateTimeFormat的属性,需要传入一个function

import DatePicker from 'material-ui/DatePicker';

可以直接把源码里的这个function复制出来,

dateTimeFormat(locale, options) {
        this.format = function (date) {
            if (options.month === 'short' && options.weekday === 'short' && options.day === '2-digit') {
                return dayList[date.getDay()] + ', ' + monthList[date.getMonth()] + ' ' + date.getDate();
            } else if (options.year === 'numeric' && options.month === 'numeric' && options.day === 'numeric') {
                return date.getMonth() + 1 + '/' + date.getDate() + '/' + date.getFullYear();
            } else if (options.year === 'numeric' && options.month === 'long') {
                return monthLongList[date.getMonth()] + ' ' + date.getFullYear();
            } else if (options.weekday === 'narrow') {
                return dayAbbreviation[date.getDay()];
            } else if (options.year === 'numeric') {
                return date.getFullYear().toString();
            } else if (options.day === 'numeric') {
                return date.getDate();
            } else {
                process.env.NODE_ENV !== "production" ? (0, _warning2.default)(false, 'Material-UI: Wrong usage of DateTimeFormat') : void 0;
            }
        };
    }

然后只要改这个函数就可以了,把中文的元素注入进去

dateTimeFormat(locale, options) {
        var dayAbbreviation = ['日', '一', '二', '三', '四', '五', '六'];
        var dayList = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
        var monthList = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'];
        var monthLongList = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'];
        this.format = function (date) {
            if (options.month === 'short' && options.weekday === 'short' && options.day === '2-digit') {
                return dayList[date.getDay()] + ', ' + monthList[date.getMonth()] + ' ' + date.getDate();
            } else if (options.year === 'numeric' && options.month === 'numeric' && options.day === 'numeric') {
                return date.getMonth() + 1 + '/' + date.getDate() + '/' + date.getFullYear();
            } else if (options.year === 'numeric' && options.month === 'long') {
                return monthLongList[date.getMonth()] + ' ' + date.getFullYear();
            } else if (options.weekday === 'narrow') {
                return dayAbbreviation[date.getDay()];
            } else if (options.year === 'numeric') {
                return date.getFullYear().toString();
            } else if (options.day === 'numeric') {
                return date.getDate();
            } else {
                process.env.NODE_ENV !== "production" ? (0, _warning2.default)(false, 'Material-UI: Wrong usage of DateTimeFormat') : void 0;
            }
        };
    }

最后再调用这个函数

<DatePicker DateTimeFormat={this.dateTimeFormat} />

ok,搞定啦,汉化版成功

转载于:https://my.oschina.net/codingBingo/blog/848441

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值