2017-04-20 12 views
1
<ui-select ng-model="model.people"> 
    <ui-select-match>{{$select.selected.name}}</ui-select-match> 
    <ui-select-choices repeat="value.id as value in options | filter: $select.search"> 
     <div ng-bind-html="value.name | highlight: $select.search"></div> 
    </ui-select-choices> 
</ui-select> 

上記のオプションは、データベースから動的に追加されます。私の質問は、ドロップダウンに手動で「すべて」オプションを追加する方法です。それを達成する方法はありますか?オプションを選択するために静的オプションを追加する

答えて

0

最も簡単な方法は、サーバーからデータを取得した後で、コンポーネント/コントローラのoptionsに追加することです。手動で配列の最初の項目としてプッシュします。

options.splice(0,0,{id: -1, name: 'all'}); 
+0

私はそれを試してみましたが、それは働いていませんでした... –

+0

@NamburiAkhil - あなたはworking'ない '何を意味するのですか?スクリプトをデバッグし、この追加されたコード行にブレークポイントを設定してください。ヒットしましたか? 'options'変数は変更されますか?新しく追加された配列アイテムが見えますか?一度これを行うと、画面上で何が起こるのですか?このコードが実行されると、 'options'の同じインスタンスを渡していますか?上記のスプライスを実行しておらず、サーバーからのデータで上書きすることはできませんか? – Igor

0

あなたは、コントローラ自体にJSON optionsに1つのstaticオブジェクトを追加することができます。

配列unshift()メソッドを使用して、1つ以上の要素を配列の先頭に追加し、新しい配列の新しい長さを返します。

DEMO

var app = angular.module('app', ['ui.select']); 
 

 
app.controller("myCtrl", function() { 
 
    vm = this; 
 
    vm.values = [{ 
 
     'key': 22, 
 
     'value': 'Kevin' 
 
    }, { 
 
     'key': 24, 
 
     'value': 'Fiona' 
 
    }]; 
 
    vm.values.unshift({'key': '', 'value': 'Static'}); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
 
<link href="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.css" rel="stylesheet"/> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-select/0.11.2/select.js"></script> 
 
<link href="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-select/0.11.2/select.css" rel="stylesheet"/> 
 
<div ng-app="app" ng-controller="myCtrl as vm"> 
 
    <ui-select tagging ng-model="vm.selected" theme="bootstrap"> 
 
     <ui-select-match placeholder="Pick one...">{{$select.selected.value}}</ui-select-match> 
 
     <ui-select-choices repeat="val in vm.values | filter: $select.search track by val.value"> 
 
      <div ng-bind="val.value | highlight: $select.search"></div> 
 
     </ui-select-choices> 
 
     
 
    </ui-select> 
 
</div>

関連する問題