具有条件的离子/角离子日期时间

问题描述 投票:0回答:1

我在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>
angularjs angular datetime ionic-framework ionic3
1个回答
0
投票

这是不可能的,因为当你点击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);
     }
© www.soinside.com 2019 - 2024. All rights reserved.