#javascript #angular #typescript
Вопрос:
у меня есть один выпадающий список, основанный на выборе страны, которую я устанавливаю предварительно в многозначном выборе (2 значения). кнопка отключена даже после выбора значений. даже после того, как элемент управления формой имеет кнопку «Значение»
Мой код
<form [formGroup]="myForm">
<div class="p-fluid p-formgrid p-grid">
<div class="p-field p-col-12 p-md-3">
<label for="country"> Country * :</label>
(onChange)="fetch()"
id="country"></p-dropdown>
</div>
<div class="p-field p-col-12 p-md-3">
<label for="country"> Location * :</label>
<!--{{selectedDefaultValue}}--> <!-- [Sydney, Melbourne]-->
<p-multiSelect [options]="locations" [defaultLabel]="selectedDefaultValue" [(ngModel)]="defaultValues" formControlName="location"
placeholder="Select Locations" class="form-control"
id="locations"></p-multiSelect>
</div>
</div>
<div class="p-fluid p-formgrid p-grid">
<div class="p-field p-col-12 p-md-2">
<button pButton type="button" label="Submit"
[disabled]="!myForm.valid"
(click)="onProceed()"
></button>
</div>
ts code
locations value 0:{label: 'Sydney', value: 'Sydney'}
1:{label: 'Melbourne', value: 'Melbourne'}
this.locations.map((item) => this.defaultValues.push(item.value));
this.defaultValues1.push('All');
this.selectedValue = this.defaultValues[0];
initForm() {
this.myForm= this.fb.group({
country: ['', Validators.required],
location: ['', Validators.required],
});
}
Комментарии:
1. Это не ответ. Пожалуйста, убедитесь, что Angular не позволяет вам использовать ngModel и FormControl в одном элементе.
Ответ №1:
Скорее всего,
Элемент управления формой не имеет значения внутри него.
Попробуйте setValue()
распределить значения внутри FormControls.