我有一个对象列表,我在ui-select的repeat属性中迭代。
我在模型中绑定其中一个对象,然后它从选择选项中消失。
HTML的代码段
<div ui-select="" data-ng-disabled="" data-ng-model="selectedPerson">
<div ui-select-match="" placeholder="Select">
<div>
<span>{{$select.selected.name}}</span>
</div>
</div>
<div ui-select-choices="" data-repeat="person in people" data-scrollable="">
<div>
<span class="itembalance">{{person.name}}</span>
</div>
</div>
</div>
JS-控制器
app.controller('DemoCtrl', function($scope, $http, $timeout) {
$scope.people = [
{ name: 'Adam', email: 'adam@email.com', age: 12, country: 'United States' },
{ name: 'Amalie', email: 'amalie@email.com', age: 12, country: 'Argentina' },
{ name: 'Estefanía', email: 'estefania@email.com', age: 21, country: 'Argentina' },
{ name: 'Adrian', email: 'adrian@email.com', age: 21, country: 'Ecuador' },
{ name: 'Wladimir', email: 'wladimir@email.com', age: 30, country: 'Ecuador' },
{ name: 'Samantha', email: 'samantha@email.com', age: 30, country: 'United States' },
{ name: 'Nicole', email: 'nicole@email.com', age: 43, country: 'Colombia' },
{ name: 'Natasha', email: 'natasha@email.com', age: 54, country: 'Ecuador' },
{ name: 'Michael', email: 'michael@email.com', age: 15, country: 'Colombia' },
{ name: 'Nicolás', email: 'nicolas@email.com', age: 43, country: 'Colombia' }
];
$scope.selectedPerson = { name: 'Wladimir', email: 'wladimir@email.com', age: 30, country: 'Ecuador' };
});
知道出了什么问题。这是在我升级到此版本后开始发生的。它不会发生在0.7。*我找不到任何指示其原因的更改日志。
目标版本为0.17.1
答案 0 :(得分:1)
这可能是关于ui-select的错误。如果在编译指令后设置值,则没有问题
$timeout(function() {
$scope.select.selectedPerson = $scope.people[1];
}, 2000);
http://plnkr.co/edit/sGnZcV6ErMPD1R6MG5U0?p=preview
但是如果在编译之前设置了默认值,则会删除选项。
答案 1 :(得分:0)
好的,解决了它并比较了两个版本0.17.1和0.18.0
似乎两者都做了一些改变。我没有挖太多但是设置了remover-selected =&#34; false&#34;似乎解决了这个问题。在0.17.1中,此版本默认设置为false,但现在基于uiSelectConfig设置。
<div ui-select="" data-ng-disabled="" data-ng-model="selectedPerson" remove-selected="false">
其他人偶然发现了这一点,我建议使用0.17.1,但大致相同。