множественный выбор prime ng при предварительном заполнении кнопка «Отправить» по-прежнему отключена, даже если элемент управления получает значение

#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.