web-dev-qa-db-ja.com

AngularJS UI-Selectドロップダウンのデフォルト値

ドロップダウンに angular ui-select を使用しています。ドロップダウン値のデフォルト値を設定するにはどうすればよいですか?

<h3>Selectize theme</h3>
  <p>Selected: {{country.selected}}</p>
  <ui-select ng-model="country.selected" theme="selectize" ng-disabled="disabled" style="width: 300px;">
    <ui-select-match placeholder="Select or search a country in the list...">{{$select.selected.name}}</ui-select-match>
    <ui-select-choices repeat="country in countries | filter: $select.search">
      <span ng-bind-html="country.name | highlight: $select.search"></span>
      <small ng-bind-html="country.code | highlight: $select.search"></small>
    </ui-select-choices>
  </ui-select>

スニペットは plnkr.co からのものです。現在、ドロップダウンはデフォルトのSelect or search a country in the list...しかし、コントローラーから値を渡す必要があります。まあ言ってみれば $scope.default = {"name":"Decard"}

ありがとう!!

編集

この質問は This one に似ていますが、データのJSONリターン形式が関係しています。

13
d3bug3r

次のように、ngモデルをコントローラーのデフォルトの国オブジェクトに初期化できます。

 $scope.country = {};
 $scope.country.selected = {name: 'Albania', code: 'AL'};

次に、「ui-select-match」を使用して、次のようにデフォルト値を設定します。

<ui-select ng-model="country.selected" theme="selectize" ng-disabled="disabled" style="width: 300px;">
<ui-select-match placeholder="Select or search a country in the list...">{{ $select.selected.name }}</ui-select-match>
<ui-select-choices repeat="country in countries | filter: $select.search">
  <span ng-bind-html="country.name | highlight: $select.search"></span>
  <small ng-bind-html="country.code | highlight: $select.search"></small>
</ui-select-choices>
</ui-select>
28
UserNeD