【问题标题】:mat-datepicker changes inputmat-datepicker 更改输入
【发布时间】:2018-09-04 16:15:58
【问题描述】:

在我的 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>

【问题讨论】:

标签: angular datepicker angular-material


【解决方案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());
}

【讨论】:

  • 谢谢!像魅力一样工作。我必须安装@angular/material-moment-adapter 和moment。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-12
  • 1970-01-01
  • 2018-12-24
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 2021-04-23
相关资源
最近更新 更多