Javascript 物料日历如何选择最大和最小日期?
我使用的是材料日历,我希望用户只选择一个月的日期。我使用Javascript 物料日历如何选择最大和最小日期?,javascript,angular,angular-material,material-design,Javascript,Angular,Angular Material,Material Design,我使用的是材料日历,我希望用户只选择一个月的日期。我使用minData和maxDate字段minDate正在工作,但maxDate不工作 example.component.html <mat-calendar [selected]="selectedDate" (selectedChange)="onCalendarSelectedChange($event)" [minDate]="today" [maxDate]="maxDate"></mat-calendar>
minData
和maxDate
字段minDate
正在工作,但maxDate
不工作
example.component.html
<mat-calendar [selected]="selectedDate" (selectedChange)="onCalendarSelectedChange($event)" [minDate]="today" [maxDate]="maxDate"></mat-calendar>
以下是给定的链接:
请帮帮我。html格式
<mat-form-field class="example-full-width">
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="picker" placeholder="Choose a date">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
参考文献
事实上,你已经用阿尼尔的答案改变了stackblitz。因此,我正在更新可能出错的内容。应该分别为“最小”和“最大”创建两个不同的日期对象
var minCurrentDate = new Date();
var maxNewDate = new Date();
this.minDate = minCurrentDate;
this.maxDate = maxNewDate.setMonth(maxNewDate.getMonth()+1);
// this.minDate = new Date(2000, 0, 1);
// this.maxDate = new Date(2020, 0, 1);
console.log(this.maxDate, minCurrentDate,maxNewDate, maxNewDate.getMonth());
在当前日期执行setMonth()时,您还更改了min date的引用。你的minDate和max date都指向同一件事。在所有对象都相同之后,只更改了引用。因此,尝试创建两个不同的对象并检查
PS:Farhat与我赛跑:p。我没有看到它。这里有一个日期选择器的示例,可以帮助您:请在
stackblitz.com
中分享一个最小的可复制示例。您标记了角材料,但它只有日期选择器。那么你用的是哪一个库?@FarhatZaman请检查。@KiraAG请检查。@SampatSingh你能给我们stackblitz链接的编辑模式吗?哈哈哈,没问题,伙计,没关系,毕竟我们都是来帮助别人的。
var minCurrentDate = new Date();
var maxNewDate = new Date();
this.minDate = minCurrentDate;
this.maxDate = maxNewDate.setMonth(maxNewDate.getMonth()+1);
// this.minDate = new Date(2000, 0, 1);
// this.maxDate = new Date(2020, 0, 1);
console.log(this.maxDate, minCurrentDate,maxNewDate, maxNewDate.getMonth());