#angular #angular-reactive-forms
#angular #угловые реактивные формы
Вопрос:
В форме, в которой я использую средство выбора даты angular material. onEdit я хочу исправить дату с помощью даты формы, но она отображается пустой, но дата отображается на странице формы. Для того, чтобы я извлекал запись из базы данных в соответствии с идентификатором отправки onEdit.
Я попытался задать формат.В базе данных даты хранятся в формате 18.4.2019.
form.patchValue({Date: order.Date});
<mat-form-field>
<input matInput [matDatepicker]="picker"formControlName="dDate" id="Date" readonly (click)="picker.open()"><mat-datepicker-toggle matSuffix [for]="picker"><mat-icon matDatepickerToggleIcon>date_range</mat-icon></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
onEdit
дата должна быть исправлена, и в поле ввода я должен получить дату этой конкретной записи.
Ответ №1:
Предполагается order
, что это an @Input()
, используется ngOnChanges
для реагирования на значения из входных данных:
ngOnChanges(changes: SimpleChanges) {
if (changes.order amp;amp; changes.order.currentValue) {
this.form.patchValue({dDate: this.order.Date});
}
}
В вашей разметке formControlName
было « dDate
«, которое отличается от вашего машинописного текста, но они должны совпадать.
Ответ №2:
form.patchValue({Date: new Date().toLocaleString()});