我有这部分HTML,其中有两个元素,一个按钮和一个日期输入。
<ion-datetime id="datetime-12-0" pickerFormat="DD/MMM/YY" min="2017" max="2020" [(ngModel)]="date.date"></ion-datetime>
<button (click)="triggerClick('date1Input')" ion-button="" item-end="" outline="" class="disable-hover item-button button button-ios button-outline button-outline-ios">
<span class="button-inner">{{date.date}}</span>
<div class="button-effect"></div>
</button>
我设置按钮以触发单击日期输入并设置模型日期。日期要在按钮上打印。
在组件中,我声明了对象,现在日期为内部:
now = moment().format('DD/MM/YY');
date = {'date':this.now};
问题是:当应用程序启动时,它显示了正确形式的日期(DD/mm/yy),但是当用户设置输入上的日期时,它将其格式更改为yyyy-mm-dd。
我已经尝试了displayformat,ngmodelchange(模型更改了它的价值,尝试格式化它),但没有幸运。
我还有什么可以尝试的吗?
谢谢!
您可以在视图中使用日期管道,这意味着您最初不会将日期格式化为moment().format('DD/MM/YY');
。如果您想格式化它,建议您之后进行。因此,以下内容应起作用:
ts:
now = moment();
date = {'date':this.now};
模板:
<ion-datetime id="datetime-12-0"
pickerFormat="DD/MMM/YY"
min="2017"
max="2020"
[(ngModel)]="date.date">
</ion-datetime>
<button (click)="triggerClick('date1Input')">
<span class="button-inner">{{date.date | date: 'dd/MM/yy'}}</span>
</button>