Я пытаюсь выяснить, почему [value]
не работает в этой форме. Это использует FormArray, и это может быть частью проблемы.
Я в недоумении, почему [value]='p_id'
не захватывает идентификатор и не добавляет его в значение формы. Если я заменю p.name
на p._id
, я вижу идентификаторы в форме в браузере.
HTML
<div *ngFor="let service of packageFormGroup.controls; let i = index">
<div class="option">
<mat-form-field class="add-services">
<mat-select
required
placeholder="Select Package"
[formGroupName]="i"
>
<mat-option
*ngFor="let p of (package$ | async)"
[value]="p._id"
>
{{ p.name }}
</mat-option>
</mat-select>
</mat-form-field>
<fa-icon
class="delete-button"
icon="trash-alt"
(click)="removePackage()"
></fa-icon>
</div>
</div>
JS
public form: FormGroup = this._fb.group({
name: ['', Validators.required],
packageIds: this._fb.array(['']),
serviceTypeId: ['', Validators.required]
});
Я используюformArray, чтобы пользователь мог добавить больше полей в форму, и вывод для packageIds
должен быть массивом строк, содержащих идентификатор выбранных элементов.
Я ожидаю увидеть идентификатор, когда сделаю это:console.log (this.form.value). Это только дает мне пустую строку для packageIds
, когда я пытаюсь это сделать.