如何禁用 Angular 2 中的未来日期条目?
How to Disable the Future Date Entries in Angular 2?
我需要在 DateTimePicker Calender 上禁用未来日期。(即)今天的日期是预填充日历中的 27 日,然后应禁用从 6 月 28 日开始的所有日期(即所有未来日期应显示为禁用)并且类似地当用户看到 DatePicker 的日历元素时,应该启用所有过去的日期条目。我正在使用 bootstrap 库。
请指教。提前致谢
我通过粘贴我的 HTML 代码来到这里:
HTML Code:
<div style="border:0;box-shadow:none;background:none;width:100px;padding:0;height:14px;text-align:center;" (click)="onStartEdit(d)">
<img src="../../assets/images/icons/editicon.png" alt="edit" style="cursor:pointer;"> {{d.date | date:'dd/MM/yyyy'}}
</div>
<div *ngIf="datePickers[d.state]" id="startPicker" style="width: auto;">
<datepicker name="datePickerEdit" [(ngModel)]="datePickerEdit" [showWeeks]="false" (selectionDone)="onEditDate(d,$event,edit_entry)" [dateDisabled]="dateDisabled"></datepicker>
<div class="pickerBtns">
<button type="button" class="btn btn-sm btn-success pull-right" (click)="onClose(d)">Close</button>
</div>
</div>
用这个{{d.date | date:'dd/MM/yyyy'}},日期被预填在 HTML 中。因此,基于此日期,必须禁用未来日期,必须启用之前的日期。
TypeScript:
public dateDisabled: {date: Date, mode: string}[];
public tomorrow: Date;
onStartEdit(d:any) {
this.datePickers[d.state] = true;
this.datePickerEdit = d.date;
}
onClose(d:any){
this.datePickers[d.state] = false;
}
public disableTomorrow(): void {
this.dateDisabled = [{date: this.tomorrow, mode: 'day'}];
}
只需将 maxDate 属性 设置为 new Date(),它就会为您工作。
例子 :
this.datepickerOptions = new DatePickerOptions({
格式:'DD-MM-YYYY',
最大日期:新日期()
});
然后设置 ng2-datepicker 的选项 属性 :
<ng2-datepicker class="DatePicker" name="fromDate" [options]="datepickerOptions"></ng2-datepicker>
我需要在 DateTimePicker Calender 上禁用未来日期。(即)今天的日期是预填充日历中的 27 日,然后应禁用从 6 月 28 日开始的所有日期(即所有未来日期应显示为禁用)并且类似地当用户看到 DatePicker 的日历元素时,应该启用所有过去的日期条目。我正在使用 bootstrap 库。
请指教。提前致谢 我通过粘贴我的 HTML 代码来到这里:
HTML Code:
<div style="border:0;box-shadow:none;background:none;width:100px;padding:0;height:14px;text-align:center;" (click)="onStartEdit(d)">
<img src="../../assets/images/icons/editicon.png" alt="edit" style="cursor:pointer;"> {{d.date | date:'dd/MM/yyyy'}}
</div>
<div *ngIf="datePickers[d.state]" id="startPicker" style="width: auto;">
<datepicker name="datePickerEdit" [(ngModel)]="datePickerEdit" [showWeeks]="false" (selectionDone)="onEditDate(d,$event,edit_entry)" [dateDisabled]="dateDisabled"></datepicker>
<div class="pickerBtns">
<button type="button" class="btn btn-sm btn-success pull-right" (click)="onClose(d)">Close</button>
</div>
</div>
用这个{{d.date | date:'dd/MM/yyyy'}},日期被预填在 HTML 中。因此,基于此日期,必须禁用未来日期,必须启用之前的日期。
TypeScript:
public dateDisabled: {date: Date, mode: string}[];
public tomorrow: Date;
onStartEdit(d:any) {
this.datePickers[d.state] = true;
this.datePickerEdit = d.date;
}
onClose(d:any){
this.datePickers[d.state] = false;
}
public disableTomorrow(): void {
this.dateDisabled = [{date: this.tomorrow, mode: 'day'}];
}
只需将 maxDate 属性 设置为 new Date(),它就会为您工作。 例子 : this.datepickerOptions = new DatePickerOptions({ 格式:'DD-MM-YYYY', 最大日期:新日期() }); 然后设置 ng2-datepicker 的选项 属性 :
<ng2-datepicker class="DatePicker" name="fromDate" [options]="datepickerOptions"></ng2-datepicker>