MatDatepicker max属性在动态设置值时不起作用

时间:2019-01-08 07:18:56

标签: angular ionic-framework

我正在使用Ionic v4进行Ionic-Angular项目。我在matdatepicker的输入标签中尝试了max attr。值为空白时,其工作。但是,当我以编程方式在输入中设置值时,最大验证无效。我使用ngModel,formcontrol和formcontrolname绑定设置值。但是每次max attr都不起作用。

<mat-form-field class="full-width">
            <input matInput [matDatepicker]="picker" readonly placeholder="Date Performed" [max]="todayDate" (click)="picker.open()"
            [formControl]="serializedDate" formControlName="selecteddate">
            <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
            <mat-datepicker #picker></mat-datepicker>
          </mat-form-field>
let convetedDate = moment('1544466600000', "x").format("DD-MMM-YYYY");
    this.myDate = new Date(Date.parse(convetedDate));
    this.serializedDate = new FormControl(this.myDate);

1 个答案:

答案 0 :(得分:0)

在将todayDate绑定为日期选择器的[max]时,您的todayDate变量应包含最大日期。不能使用ngModel或formControl进行设置。 我使用您的示例创建了一个stackblitz,其中在逻辑中设置了todayDate变量,并且该变量按预期工作。 Here 希望这会有所帮助

编辑:使用[max]serializedDate设置ngModel的值后,[formControl]仍在工作。查看更新的Stackblitz here

我认为您为什么不能在日期选择器中看到最大有效值是因为您为日期控件设置的日期是12/10/2018,而max被设置为今天的日期。因此,尝试导航到当前月份,您会像在栈顶中一样看到今天日期之后的禁用日期。