2016-12-02 5 views
5

私はfollwingコードを使用して、複数の値のangular2ドロップダウンを使用していますng-selectを使用してangualr2ドロップダウンでデフォルトで選択された値を設定する方法は?

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

このコードは、複数の値を保存する時には私のために正常に動作しています。 しかし、ビューモードでは、ドロップダウンで選択されたモードでデフォルトでその値が必要ですが、私はこれを行うことができません。

どうすれば解決できますか?上記のコードを使用します。

+0

あなたはng-selectにサードパーティーのディレクティブを使用していると仮定しますが、どちらを使用するか指定できますか?または独自のng-selectディレクティブを作成しましたか? – hakany

答えて

4

オプションを使用しているので、this ng2-selectを使用している必要があります。 この場合、ngModelにバインドし、スクリプトのinitでその値を更新する必要があります。

Ie.

あなたは以下のようにコンポーネントで選択した値を配列としてoptionsngModleを使用することができます。 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

angular2 selectによると、あなたは初期値を設定するngModelを使用することができます。

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

本当にありがとうございました。 –

+0

あなたは 'let selectedValue =" 2,3 ".split("、 ");' 'split'を実行できます。文字列を部分文字列の配列に分割しますcheck http://www.w3schools.com/jsref/jsref_split.asp – ranakrunal9

+0

上記のすべてのsollitionsは私のために働いていますが、私は次のようなエラーが表示されます: '未定義のプロパティ' selected 'を設定できません。ゾーン:角度;タスク:Promise.then;値:TypeError:未定義の 'selected'プロパティを設定できません。上記のコードで説明したようにngmodelを使用していますが、配列のselectedValueはまだありますが.. ?? –