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.