У меня есть простая веб-страница, содержащая группу форм с несколькими элементами управления.Внутри моего метода ngOnInit я делаю запрос get для загрузки некоторых данных с сервера.Пока эти данные не загружены, я хочу скрыть форму и отображать ее только после загрузки данных.Вот мой .component.ts
файл:
public formGroup = new FormGroup({
firstName: new FormControl('', [
Validators.required,
]),
lastName: new FormControl('', [
Validators.required,
]),
});
Вот мой ngOnInit()
метод:
ngOnInit() {
this.route.params.pipe(mergeMap(params => {
this.param1 = params['param'];
this.hideForm(); //I want to implement this method
return this.service.getInfo(this.param1);
})).subscribe(data => {
//this is the success case, i.e. I have loaded the data and obv I want to show the form
this.formGroup.controls['firstName'].setValue(data.firstName);
this.formGroup.controls['lastName'].setValue(data.lastName);
}, err => {
//in the error case the form should stay hidden
});
}
Часть моего component.html
файла:
<form [formGroup]="formGroup" (ngSubmit)="handleSubmit()">
<mat-form-field>
<input matInput placeholder="Name" formControlName="firstName" required>
</mat-form-field>
<mat-form-field>
<input matInput placeholder="Surname" formControlName="lastName" required>
</mat-form-field>
</form>
Я прочитал, что я могу удалить / добавить элементы управления из формы, но это кажется ненужным для меня, чтобы постоянно добавлять и удалять компоненты вместо того, чтобы скрывать их.Любые идеи будут оценены.