मेरे पास इस तरह एक मूल घटक है।

         <form [formGroup]="validateFormGroup">
          <div>
            <mat-form-field>
              <input matInput placeholder="Name" maxlength="150" formControlName="name" required>
            </mat-form-field>
          </div>
          </form>
          <div class="">
            <app-calendar-time-zones (getSelectedTimeZone)="setTimeZoneSelected($event)" ></app-calendar-time-zones>
          </div>
       

और ऐप-कैलेंडर-समय-क्षेत्र घटक में यह मेरा HTML कोड है जो मेरे पास है

    <div class="calendar-container">
            <mat-form-field>
    <mat-label>Select time zone</mat-label>
    <mat-select [(ngModel)]='selectedTimeZone.displayName' class='form-control'  >

      <mat-option *ngFor="let timezone of filteredTimeZones | timezonesFilter : searchValue" [value]="timezone.id"
                  (click)="timeZoneSelected(timezone)">
        {{timezone.offset + ' ' + timezone.displayName}}
      </mat-option>

    </mat-select>
  </mat-form-field>
      
    </div>

और चाइल्ड कंपोनेंट टीएस फाइल में मैं इस तरह से वैल्यू सेट कर रहा हूं लेकिन इसका मैट सेलेक्ट एलिमेंट चयनित वैल्यू पर सेट नहीं हो रहा है।

    this.selectedTimeZone = this.filteredTimeZones[0];

    //  selectedTimeZone  i am getting here is this ==  {id: "Africa/Abidjan", displayName: "Greenwich Mean Time", useDaylightTime: false, rawOffset: 0, offset: ""}

निम्नलिखित खाली ड्रॉपडाउन प्राप्त करना प्रदर्शित हो रहा है। लेकिन अगर मैं ड्रॉपडाउन आइकन पर क्लिक करता हूं तो मुझे सभी विकल्प दिखाई देते हैं। यहां छवि विवरण दर्ज करें

and in the browser if i inspect mat-select element. ngModel value is setting .

enter image description here

0
Roster 20 मार्च 2021, 14:09

1 उत्तर

सबसे बढ़िया उत्तर

चयन को स्वचालित बनाने के लिए, ngModel से गुजरने वाला मान किसी विकल्प के value से मेल खाना चाहिए।

इसलिए, मुझे लगता है कि selectedTimeZone.displayName आपके विकल्पों से बंधे किसी भी timezone.id से मेल नहीं खाता।

1
Francesco Colamonici 20 मार्च 2021, 23:25
वह काम किया ! धन्यवाद @Francesco Colamonici
 – 
Roster
22 मार्च 2021, 22:07