2016-02-03 4 views
2

Есть следующий селектор:Угловой набор отключена опция выбрана

<select 
     ng-model="vm.selectedUserState" 
     ng-options="u as u.Group disable when u.Obsolete for u in vm.UserStates"> 
</select> 

при загрузке страницы и код текущего состояния отключен (Устаревшая правда), я вижу пустой выбор, как я могу это исправить (предварительно выбрать подходящий вариант, даже когда элемент отключен)

+0

так что вы можете написать? 'u как u.Group для u в vm.UserStates отслеживать u.Obsolete = false' – Saahon

+0

или вот так:' ' – Saahon

+0

@Saahon код, который вы предоставили не работает (с использованием второго выбора листинга вообще не отображается) –

ответ

1

ng-model ваши вероятно неопределенные от нагрузки, если вы хотите установить начальный выбранный элемент вашего ng-model в контроллере

vm.selectedUserState = vm.UserStates[selectionKeyName] 

обновление: Глядя на угловом источнике я не думаю, что это возможно:

if (option && !option.disabled) { //Skips if it's disabled <---- 
    if (selectElement[0].value !== option.selectValue) { 
    removeUnknownOption(); 
    removeEmptyOption(); 

    selectElement[0].value = option.selectValue; 
    option.element.selected = true; 
    option.element.setAttribute('selected', 'selected'); 
    } 
} else { 
    if (value === null || providedEmptyOption) { 
    removeUnknownOption(); 
    renderEmptyOption(); 
    } else { 
    removeEmptyOption(); 
    renderUnknownOption(); 
    } 
} 
+0

нет, im sure vm полностью определен (если vm.selectedUserState не устарел (не отключен), все работает правильно) –

+0

Я обновил свой ответ –

0

решаемого добавление проверки добавления

<select 
     ng-model="vm.selectedUserState" 
     ng-options="u as u.Group disable when (u.Obsolete && vm.selectedUserState.Code !== u.Code) for u in vm.UserStates"> 
</select> 
Смежные вопросы