mongodb - Angular 5 + Material Design: hvordan sætter man standardværdien?


 <mat-form-field>
      <mat-select [formControl]="form.controls['defaultCategory']" [(ngModel)]="resource.categoryName" >
        <mat-option *ngFor="let category of categories | async" [value]="category._id" >
          {{ category.name }}
        </mat-option>
      </mat-select>
 </mat-form-field>

Jeg prøvede mange ting. Dokumenterne, nogle fejlrapporter på GitHub løste stadig ikke mit problem.

Jeg vil kun indstille en standardværdi på forhånd...

Standardværdien gemmes i en variabel med navnet: resource.categoryName. Valgmulighederne kommer fra en samling fra MongoDB, og disse gemmes i categories[].

Dette billede viser den lukkede mat-select (ingen standardværdi vist, men der burde være...)

åbnet mat-select

Her er min .ts. Den vigtige linje er "this.resource.categoryName=this.subdoc['name'];". Der sætter jeg "resource.categoryName. Hvis jeg prøver at console.log(this.resource.categoryName), så får jeg navnet på kategorien...

Opret en variabel i .ts og sørg for, at det er en streng. Derefter erklær variablen med ID'et for standardkategorien. (i mit tilfælde virkede det kun med ID'et, ikke med det simple navn) - Tak til Simeon, Hamid og andre tråde om dette problem.

Svar #1

Jeg kan ikke se din komponentfil, men problemet kan være, at din resource.categoryName ikke har en værdi sat ved initialisering af komponenten. Prøv at sætte den manuelt i din *.component.ts fil.

Relaterede artikler