小编Nel*_*eno的帖子

实现自定义NgbDateParserFormatter以更改NgbInputDatepicker上的输入值的格式是否正确?

我在弹出窗口中使用了datepicker(ng-boostrap),我想将日期格式更改为dd-mm-yyyy.

似乎可以通过实现new NgbDateParserFormatter来替换默认值来解决它NgbDateISOParserFormatter.

但我想知道是否还有另一种方式.

更新:

NgbDateParserFormatter使用Moment.js的一个小实现(使用版本1.0.0-alpha.14的ng-bootstrap测试):

import {NgbDateParserFormatter, NgbDateStruct} from '@ng-bootstrap/ng-bootstrap';
import * as moment from 'moment';

export class NgbDateMomentParserFormatter extends NgbDateParserFormatter {
    constructor(private momentFormat: string) {
        super();
    };
    format(date: NgbDateStruct): string {
        if (date === null) {
            return '';
        }
        let d = moment({ year: date.year, 
                         month: date.month - 1, 
                         date: date.day });
        return d.isValid() ? d.format(this.momentFormat) : '';
    }

    parse(value: string): NgbDateStruct {
        if (!value) {
            return null; …
Run Code Online (Sandbox Code Playgroud)

momentjs ng-bootstrap angular

47
推荐指数
1
解决办法
2万
查看次数

标签 统计

angular ×1

momentjs ×1

ng-bootstrap ×1