【发布时间】:2023-03-21 14:37:02
【问题描述】:
我使用 angular 2 ReactiveFomrs 并且我的表单中有 2 个日期,第二个日期是从第一个日期计算出来的,所以我在第一个日期上创建 onclick 函数,然后我使用 patchValue 更改第二个日期但是它没有改变
这里是onclick函数
onDeliveryDateChange() {
this.serviceForm.patchValue({
endDate: "2018-02-31"
})
}
这里是html表单输入字段
<div class="form-row">
<div class="form-group col-6">
<div class="row">
<label class="col-form-label col-4" for="deliveryDate">Delivery Date</label>
<input
type="date"
id="deliveryDate"
class="form-control col-7"
formControlName="deliveryDate"
(change)="onDeliveryDateChange()">
<p
*ngIf="serviceForm.get('deliveryDate').invalid &&
serviceForm.get('deliveryDate').touched &&
serviceForm.get('deliveryDate').errors['required']"
class="text-danger col-7 offset-4">
Delivery Date Can not be empty
</p>
<p
*ngIf="serviceForm.get('deliveryDate').invalid &&
serviceForm.get('deliveryDate').touched &&
serviceForm.get('deliveryDate').errors['minDate']"
class="text-danger col-7 offset-4">
Please don't choose the date before {{currentDate|date}}.
</p>
</div>
</div>
</div>
<div class="">
<div class="form-group col-6">
<div class="row">
<label class="col-form-label col-4" for="endDate">End Date</label>
<input
type="date"
id="endDate"
class="form-control col-7"
formControlName="endDate"
[readOnly]="serviceForm.get('contractTerm').value != 4">
<p
*ngIf="serviceForm.get('endDate').invalid &&
serviceForm.get('endDate').touched &&
serviceForm.get('endDate').errors['required']"
class="text-danger col-7 offset-4">
End Date Can not be empty
</p>
<p
*ngIf="serviceForm.get('endDate').invalid &&
serviceForm.get('endDate').touched &&
serviceForm.get('endDate').errors['minDate']"
class="text-danger col-7 offset-4">
Please choose the date after {{serviceForm.get('deliveryDate').value}}.
</p>
</div>
</div>
</div>
注意:我也尝试更改日期的格式,并尝试将其设为 Date 类型的对象,但它也没有改变
【问题讨论】:
标签: angular angular2-forms angular-reactive-forms