angular - Hur sätter man som standard valt värde i Angular2-dropdown med hjälp av ng-select?
Jag har använt Angular2 rullgardinsmeny för flera värden med följande kod:
<ng-select [options]="dropDownSKUNumber" #SKUNumberDrp multiple="true" placeholder="Select SKU Number" [allowClear]="true"></ng-select>
Denna kod fungerar korrekt för mig vid tiden för att spara flera värden. Men i visningsläge vill jag att dessa värden som standard ska vara valda i dropdown-menyn, men jag kan inte göra detta.
Hur löser man det? med ovanstående kod.
Svar #1
Eftersom du använder alternativ måste du använda detta ng2-select. I så fall bör du binda det till en ngModel och sedan uppdatera det värdet vid initiering av ditt skript:
D.v.s. HTML
<ng-select
[multiple]="true"
[options]="myOptions"
[(ngModel)]="mySelectValue">
</ng-select>
TS
export class App implements OnInit {
myOptions: Array<any>;
mySelectValue: Array<string>; // Array of strings for multi select, string for single select.
ngOnInit() {
this.myOptions = [
{value: 'a', label: 'Alpha'},
{value: 'b', label: 'Beta'},
{value: 'c', label: 'Gamma'},
];
this.mySelectValue = ['b', 'c'];
}
}
Svar #2
Enligt angular2 select kan du använda ngModel för att sätta ett initialt värde :
du kan använda options som en array och ngModle för valt värde i din komponent enligt nedan :
//Component
public dropDownSKUNumber : any[] = [
{ value: 1, label : 1 },
{ value: 2, label : 2 },
{ value: 3, label : 3 }
];
public selectedValue: string[] = [ '2', '3' ];
//HTML
<ng-select [options]="dropDownSKUNumber" #SKUNumberDrp multiple="true" placeholder="Select SKU Number" [(ngModel)]="selectedValue" [allowClear]="true"></ng-select>
