J'utilise angular ui-select pour le menu déroulant. Comment puis-je définir une valeur par défaut pour la valeur déroulante?
<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>
L'extrait provient de plnkr.co . Actuellement, le menu déroulant sème simplement par défaut Select or search a country in the list...
Mais j'ai besoin de passer une valeur du contrôleur. Disons $scope.default = {"name":"Decard"}
Cette question est similaire à celle-ci mais implique le format de retour json des données.
Vous pouvez initialiser votre modèle ng à l'objet pays par défaut dans votre contrôleur comme suit:
$scope.country = {};
$scope.country.selected = {name: 'Albania', code: 'AL'};
Utilisez ensuite "ui-select-match" pour définir la valeur par défaut comme ceci:
<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>