У меня проблема с угловой формой. Проблема заключается в флажке, который содержит некоторые значения (около 10). У меня есть пункт, который я нажимаю в этой форме с некоторыми уже выбранными значениями. Так что я использую форму для редактирования / обновления этого элемента.
Мой флажок прямо сейчас может показать, какие из значений в флажке были выбраны до редактирования. пример здесь: https://gyazo.com/3cda89f3fc5c42de690fd8803274990b (наведите курсор, чтобы показать)
Но когда я пытаюсь выбрать новое значение флажка, он просто каждый раз восстанавливает весь флажок, и я не знаю почему.
Может быть, я неправильно заполняю форму, я создаю форму следующим образом:
<div class="form-group row">
<div class="col">
<label for="">Typer af data der indhentes:</label>
<div formArrayName="DataTypes"
*ngFor="let test of this.createWhatItemData().controls; let j=index"
class="form-group">
<div>
<div class="form-check">
<label class="form-check-label">
<input type="hidden" />
<input type="checkbox" class="form-check-input" [checked]="test.value.selected" />
{{whatItemDataTypes[j].Name}}
</label>
</div>
</div>
</div>
</div>
</div>
и затем он инициализируется и заполняется следующим образом:
private initFormWhatComponent() {
this.form2 = this.formBuilder2.group({
ConsentWhatItemDirection: this.whatItem.ConsentWhatItemDirection,
ConsentWhatItemType: this.whatItem.ConsentWhatItemType,
OrganizationIdentifier: this.whatItem.OrganizationIdentifier,
Name: this.whatItem.Name,
Description: this.whatItem.Description,
DataTypes: this.formBuilder2.array(this.whatItem.DataTypes)
});
this.addWhatItemFormGroupWhatComponent(this.whatItem);
}
Это, чтобы получить уже выбранные значения в мой флажок, и если я консоль журнала, например. «test» в этой функции регистрирует каждый раз, когда я взаимодействую с формой.
createWhatItemData() {
let _formArray = this.formBuilder2.array(
this.whatItemDataTypes.map(s => {
return this.formBuilder2.group({
selected: this.whatItem.DataTypes.some(x => x.Id == s.Id),
Id: s.Id,
});
})
);
return _formArray
}
Доступные для выбора значения выбираются из базы данных, а затем объединяются со значениями элементов, отправляемых в форму.
Может ли кто-нибудь помочь мне с установкой флажка, чтобы я мог выбрать новые значения и затем обновить свой элемент?
Заранее спасибо.