Как удалить элементы из HTML DOM View с помощью NgIf, используя Typescript, а не html? В поисках аналогичного синтаксиса.
Предпочитать выполнять итерацию по массиву в машинописи и удалять элементы из представления, а не оборачивать все 20 форм-контролов с помощью NgIf, кажется несколько повторяющимся.
В настоящее время используется Formbuilder , а не FormArray. Эта ссылка не отображает стиль, что не является идеальной практикой в Angular из того, что я прочитал. Это правда?
Angular 2 -> как скрыть элементы управления с помощью FormGroup
У нас есть массив исключений, и мы предпочитаем отключать с помощью foreach в Typescript
Возможно что-то вроде этого?
Это отключает только поле, по-прежнему отображается в html Просмотр
Object.keys(this.customerForm.controls).forEach(key => {
if (this.excludeFormControlArray.indexOf(key) >= 0) {
this.customerForm.get(key).disable; // This only disables the field, still shows in html View
this.customerForm = this.formBuilder.group({
'firstName': [null, [Validators.maxLength(50), PhoneNumberValidator]],
'phoneNumber': [null, [Validators.maxLength(50), PhoneNumberValidator]],
'streetName': [null, [Validators.maxLength(50), PhoneNumberValidator]],
'emailAddress': [null, [Validators.maxLength(50), Validators.email]],
'city': [null, [Validators.required, Validators.maxLength(200)]],
'state': [null, [Validators.maxLength(200)]],
'zip':[null,[Validators.maxLength(200)]]
});
HTML
// попытка чтобы предотвратить перенос каждого из них с помощью ngIf, элементы размещаются в специальном месте на странице из-за спецификаций каркаса UX, NgFor был не совсем возможен, представление html / css намного сложнее, чем это,
<div class = "row">
<app-input-textbox formControlName = "firstName"></app-input-textbox>
<div class = "row">
<div class = "column">
<app-input-textbox formControlName = "emailAddress"></app-input-textbox>
</div>
<div class = "test">
<app-input-textbox formControlName = "state"></app-input-textbox>
<app-input-textbox formControlName = "zip"></app-input-textbox>
</div>