如何在 Angular 中选择一个日期时向 Bootstrap DatePicker 添加一天
How to add one day to Bootstrap DatePicker when one date is pick in Angular
开发者好,我有两个用于用户 select 的输入 boostrap 日期选择器,我想如果第一个日期字段是 selected,下一个日期字段应该从一天开始开始日期最初 select 在第一个日期字段中编辑。
这是我的第一个输入字段:
<input
(blur)="setMinDate($event)"
id="StartTime"
type="text"
name="StartTime"
class="form-control"
bsDatepicker
datePickerLuxonModifier
[(date)]="userFirstInput.startTime"
[(ngModel)]="userFirstInput.startTime"
[maxDate]="userFirstInput.endTime"
[minDate]="startdate"
[bsConfig]="{ adaptivePosition: true }"
required
/>
这是第二个输入字段:
<input
id="EndTime"
type="text"
name="EndTime"
class="form-control"
bsDatepicker
datePickerLuxonModifier
[(date)]="userSecondInput.endTime"
[(ngModel)]="userSecondInput.endTime"
[minDate]="minPickDate"
[bsConfig]="{ adaptivePosition: true }"
required
/>
函数正在第一个输入日期上应用,以存储第一个输入日期的日期选择并为其添加一天,这将用作第二个输入日期字段的 [minDate]:
minPickDate: DateTime;
setMinDate(event){
this.minPickDate = this.userFirstInput.startTime.plus({days:1});
}
但是不起作用,我尝试使用 ngModelChange 和 Change 事件,但仍然没有成功。 拜托,我需要帮助。
尝试下面使用 bsValueChange
,希望它对你有用
<input
(bsValueChange)="setMinDate($event)"
id="StartTime"
type="text"
name="StartTime"
class="form-control"
bsDatepicker
datePickerLuxonModifier
[(date)]="userFirstInput.startTime"
[(ngModel)]="userFirstInput.startTime"
[maxDate]="userFirstInput.endTime"
[minDate]="startdate"
[bsConfig]="{ adaptivePosition: true }"
(bsValueChange)= "setMinDate($event)"
required />
ts
minPickDate : 日期;
setMinDate(value){
var nextDay = new Date(value);
nextDay.setDate(nextDay.getDate() + 1);
this.minPickDate = nextDay;
}
开发者好,我有两个用于用户 select 的输入 boostrap 日期选择器,我想如果第一个日期字段是 selected,下一个日期字段应该从一天开始开始日期最初 select 在第一个日期字段中编辑。 这是我的第一个输入字段:
<input
(blur)="setMinDate($event)"
id="StartTime"
type="text"
name="StartTime"
class="form-control"
bsDatepicker
datePickerLuxonModifier
[(date)]="userFirstInput.startTime"
[(ngModel)]="userFirstInput.startTime"
[maxDate]="userFirstInput.endTime"
[minDate]="startdate"
[bsConfig]="{ adaptivePosition: true }"
required
/>
这是第二个输入字段:
<input
id="EndTime"
type="text"
name="EndTime"
class="form-control"
bsDatepicker
datePickerLuxonModifier
[(date)]="userSecondInput.endTime"
[(ngModel)]="userSecondInput.endTime"
[minDate]="minPickDate"
[bsConfig]="{ adaptivePosition: true }"
required
/>
函数正在第一个输入日期上应用,以存储第一个输入日期的日期选择并为其添加一天,这将用作第二个输入日期字段的 [minDate]:
minPickDate: DateTime;
setMinDate(event){
this.minPickDate = this.userFirstInput.startTime.plus({days:1});
}
但是不起作用,我尝试使用 ngModelChange 和 Change 事件,但仍然没有成功。 拜托,我需要帮助。
尝试下面使用 bsValueChange
,希望它对你有用
<input
(bsValueChange)="setMinDate($event)"
id="StartTime"
type="text"
name="StartTime"
class="form-control"
bsDatepicker
datePickerLuxonModifier
[(date)]="userFirstInput.startTime"
[(ngModel)]="userFirstInput.startTime"
[maxDate]="userFirstInput.endTime"
[minDate]="startdate"
[bsConfig]="{ adaptivePosition: true }"
(bsValueChange)= "setMinDate($event)"
required />
ts minPickDate : 日期;
setMinDate(value){
var nextDay = new Date(value);
nextDay.setDate(nextDay.getDate() + 1);
this.minPickDate = nextDay;
}