mat-datepicker更改输入

时间:2018-09-04 07:55:55

标签: angular datepicker angular-material

在Angular5项目中,我添加了mat-datepicker。例如,如果我在此处输入05.06.2018,则当我离开该字段时,该条目将更改为06.05.2018。

有人对我有解决办法吗?

  <mat-form-field>
    <input matInput max="{{age | date:'yyyy-MM-dd'}}" name="birthday" [(ngModel)]="model.birthday" [matDatepicker]="picker">
    <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
    <mat-datepicker #picker></mat-datepicker>
  </mat-form-field>

1 个答案:

答案 0 :(得分:1)

创建自定义日期格式:

DEMO

import { Component } from '@angular/core';
import { FormControl } from '@angular/forms';
import { MomentDateAdapter } from '@angular/material-moment-adapter';
import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material';


import * as _moment from 'moment';

import { default as _rollupMoment } from 'moment';

const moment = _rollupMoment || _moment;


export const MY_FORMATS = {
  parse: {
    dateInput: 'DD.MM.YYYY',
  },
  display: {
    dateInput: 'DD.MM.YYYY',
    monthYearLabel: 'MMM YYYY',
    dateA11yLabel: 'LL',
    monthYearA11yLabel: 'MMMM YYYY',
  },
};

@Component({
  selector: 'datepicker-formats-example',
  templateUrl: 'datepicker-formats-example.html',
  styleUrls: ['datepicker-formats-example.css'],
  providers: [

    { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },

    { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
  ],
})
export class DatepickerFormatsExample {
  date = new FormControl(moment());
}