2016-12-02 11 views
5

Użyłem angular2 rozwijaną wielokrotnego wartości przy użyciu kodu follwing:Jak ustawić domyślnie wybraną wartość w rozwijaniu angualr2 za pomocą ng-select?

<ng-select [options]="dropDownSKUNumber" #SKUNumberDrp multiple="true" placeholder="Select SKU Number" [allowClear]="true"></ng-select> 

Ten kod działa prawidłowo dla mnie w momencie zapisać wiele wartości. Następnie, ale w trybie widoku, chcę te wartości domyślnie w wybranym trybie na liście rozwijanej, ale nie mogę tego zrobić.

Jak go rozwiązać? używając powyższego kodu.

+0

Zakładam, że używasz dyrektywy trzeciej strony dla ng-select, czy mógłbyś określić, którego z nich używasz? lub czy napisałeś własną dyrektywę ng-select? – hakany

Odpowiedz

4

Ponieważ używasz opcji, musisz używać this ng2-select. W takim przypadku powinieneś powiązać go z ngModel, a następnie zaktualizować tę wartość w init skryptu:

I.e. 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']; 
    } 
} 
1

Według angular2 select można użyć ngModel ustawić wartość początkowa:

można użyć options jako tablicy i ngModle dla wybranej wartości w składniku, jak poniżej:

//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> 
+0

Dziękuję bardzo za najlepsze wsparcie dla mnie. –

+0

możesz zrobić 'let selectedValue =" 2, 3 ".split (", ");' 'split' podzieli ciąg na tablicę podciągów sprawdź http://www.w3schools.com/jsref/jsref_split.asp – ranakrunal9

+0

Przede wszystkim rozwiązania działają dla mnie, ale otrzymuję komunikat o błędzie: "Nie można ustawić właściwości" selected "of undefined; Strefa: kątowa; Zadanie: Promise.then; Wartość: TypeError: Nie można ustawić właściwości 'selected' of undefined 'i używam ngmodel, jak wspomniano w powyższym kodzie, a także mam selectedValue w tablicy, ale nadal .. ?? –

Powiązane problemy