#angular #typescript #primeng
#angular #typescript #primeng
Вопрос:
Поведение
проверка на одной переключателе в группе FormArray проверяет все остальные переключатели в других группах. Поскольку это массив форм, все значения formControlName для переключателей одинаковы.
Ожидаемое поведение При выборе переключателя в одной группе в массиве форм это не должно влиять на переключатели в другой группе.
Минимальное воспроизведение проблемы
Комментарии:
1. Ваш код stackblitz не работает, он выдает некоторые ошибки.
2. исправлена проблема. теперь он работает нормально @VimalPatel
3. Привет, @SaadKhan, у меня такая же проблема, как вы решили проблему?
4. @Alba проблема связана с совместимостью angular 11 с ng prime. Вместо этого я использовал Mat-переключатель, чтобы решить мою проблему
Ответ №1:
Эта проблема связана с переключателями в массиве форм, имеющими одинаковое значение. Я нашел (уродливый) обходной путь, который использует ngModel и событие onClick. Также обратите внимание на ngModelOptions, который требуется для использования ngModel внутри FormGroup
public userAgree: boolean = null;
updateUserAgreeFormControl() {
if (this.reportCommentFormGroup)
this.reportCommentFormGroup.get('userAgree').setValue(this.userAgree);
}
<span class="radio-button">
<p-radioButton name="userAgree" label="Agree" [value]="true" [(ngModel)]="userAgree"
[ngModelOptions]="{standalone: true}" (onClick)="updateUserAgreeFormControl()"></p-radioButton>
</span>