Я использую acute.select
в моем проекте angularjs
. У меня есть array
:angularjs - обновить `sharp.select` список после` ac-change`
$scope.users = [];
$scope.acuteusers =[{UserName:"john"},{UserName:"joe"},{UserName:"mary"}];
$scope.stateSelected = function(state){
console.log(state);
for (var i = 0; i < $scope.acuteusers.length; i++) {
if (state.UserName == $scope.acuteusers[i].UserName) {
$scope.acuteusers.splice(i,1);
};
};
console.log($scope.acuteusers);
}
и html
:
<select class="ac-select stateList" ac-model="users" ac-options="s.UserName for s in acuteusers"
ac-settings="{ comboMode: true, loadOnOpen: true, minWidth: '470px' }" ac-change="stateSelected(value)" >
</select>
Я хочу, чтобы вынуть элемент из выпадающего списка acute.select
все выбран элемент. Но как-то он останется в качестве начальных состояний (ни один элемент не удаляется), даже console.log
покажет, что он уже вынут. Как я могу это разрешить?
Возможно, это проблема в вашем 'ac-'. добавьте $ timeout во время сращивания, иногда требуется время для запуска '$ digest'. –
Я думаю, что сплайсинг должен быть как $ scope.acuteusers.splice (i, 1); – Nir
Никогда не изменяйте массив во время итерации по нему, это анти-шаблон. Если вам нужно удалить элементы из массива во время итерации по нему, сделайте это назад (запустите счетчик с помощью 'array.len' и уменьшите его). –