Ionic datepicker min&最大值不适用于月份和天

时间:2016-12-24 15:16:27

标签: javascript angular ionic-framework ionic2

我正在尝试使用离子2 datepicker,但是当我想使用min&最大属性它不起作用。

<ion-datetime displayFormat="DD-MM-YYYY"  [min]="event.date.today" [(ngModel)]="event.date.start"></ion-datetime>

仅过滤年份过滤日期!但我希望每天都有自定义。

'date': {
    'today': moment().format("YYYY-MM-DD")

enter image description here

你能帮帮我吗? 非常感谢

1 个答案:

答案 0 :(得分:1)

据我所知,ion-datetime仅支持年份。 (https://github.com/driftyco/ionic/blob/master/src/components/datetime/datetime.ts) 因为列不是根据值动态更改的。而是从最小/最大

生成选择器

我建议您手动更改日期时间列以完全控制。

标记您的html日期时间

<ion-datetime displayFormat="DD-MM-YYYY"  #dateTime [(ngModel)]="event.date.start"></ion-datetime>

在viewchild的集合上,将其列更改为

@ViewChild('dateTime') public set dateTime(val: DateTime) {
    (<any>val.pickerOptions).columns[0].options = (<any>val.pickerOptions).columns[0].options.filter(year => year.value >= this.event.date.today.getFullYear());
    (<any>val.pickerOptions).columns[1].options = (<any>val.pickerOptions).columns[1].options.filter(month => month.value >= this.event.date.today.getMonth() + 1);
    (<any>val.pickerOptions).columns[2].options = (<any>val.pickerOptions).columns[2].options.filter(day => day.value >= this.event.date.today.getDate());
}

这将为您提供一个日期时间,该日期时间仅包含高于或等于指定的年/月/日。 这意味着如果您输入06/06/2016作为最低要求,那么01/07/201

如果这对您不满意,您应该搜索对此任务更有用的日历组件。