我在Ionic中有以下内容,我想让用户选择日期时间值,但有一个条件:如果小时等于'21',则分钟必须为'00'(不是'30'),否则分钟值可以等于'00'或'30'。想法?
<ion-datetime
hourValues="9,10,11,12,13,14,15,16,17,18,19,20,21 #hour"
[minuteValues]="hour != 21 ? '00,30' : '00'"
[(ngModel)]="time"
name="time"
required>
</ion-datetime>
这是不可能的,因为当你点击ion-datepicker选择日期和时间时,首先设置“minuteValue”。实现此目的的一种方法是在.ts文件中比较您选择的小时,并根据小时到分钟分配特定值,如下所示。
在.html文件中。
<ion-datetime
hourValues="9,10,11,12,13,14,15,16,17,18,19,20,21 #hour"
minuteValues="0,30"
[(ngModel)]="time"
name="time"
displayFormat="MM DD,YYYY HH:mm"
(ionChange)="timeValue()"
required>
</ion-datetime>
在.ts文件中:
timeValue()
{
let hour = this.time.split('T')[1].split(':')[0];
let minute = this.time.split('T')[1].split(':')[1];
if(Number(hour) === 21)
{
minute = '00';
}
let date = new Date(this.timey);
date.setHours(Number(hour));
date.setMinutes(Number(minute));
console.log("------------"+date);
}