【问题标题】:ionic date time add 30 minute from min and minus 30 minute from max离子日期时间从最小值开始增加 30 分钟,从最大值开始负 30 分钟
【发布时间】:2021-02-12 16:32:11
【问题描述】:

我试图实现具有最小值和最大值的离子日期时间选择器。如果是最小值,它将增加 30 分钟,如果是最大值,它将减去 30 分钟。我应该怎么做才能实现它.. stackblitz

HTML

<ion-item>
    <ion-label>Start Time</ion-label>
    <ion-datetime displayFormat="h:mm A" min="01:00" max="10:00" pickerFormat="h mm A" minuteValues="0,30"></ion-datetime>
</ion-item>

【问题讨论】:

  • 如果分钟什么?你能解释一下你在尝试什么吗?
  • 我想......让我们说......分钟从 01:00 开始它变成 1:30 它应该从最小时间增加 30 分钟
  • 不能选择时间1:00..只能选择1:30
  • 是的,就像@javiens 说的那样

标签: angular typescript ionic-framework


【解决方案1】:

你不能像这样简单地改变你的最小值和最大值吗?

<ion-datetime displayFormat="h:mm A" min="01:30" max="09:30" pickerFormat="h mm A" minuteValues="0,30"></ion-datetime>

-- 编辑(基于cmets)--

您可以在将 ion-datetime 的最小、最大参数传递给您的 html 之前修改它们。请参阅下面的代码。我正在使用时刻从后端收到的时间添加/减去 30 分钟。然后在html中使用这些变量

import moment from 'moment';

export class HomePage {
  newMin: string;
  newMax: string;
  constructor(public navCtrl: NavController) {
    const min = "01:00"; // Receive from backend
    const max = "10:00"; // Receive from backend
    this.newMin = moment(min, "HH:mm").add(30, 'minutes').format('HH:mm'); // Add 30 mins
    this.newMax = moment(max, "HH:mm").subtract(30, 'minutes').format('HH:mm') // Subtract 30 mins
  }

}

现在在 html 中使用这些

<ion-datetime displayFormat="h:mm A" [min]="newMin" [max]="newMax" pickerFormat="h mm A" minuteValues="0,30"></ion-datetime>

【讨论】:

  • 没有。我不想这样,因为 min 和 max 来自后端
  • 我已经修改了我的答案来处理这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-15
  • 1970-01-01
相关资源
最近更新 更多