2017-02-01 3 views
0

Я использую этот checklist-modeldirective цикл по списку флажков можно сохранить объекты в базе данных и может проверить значения, которые существуют в tabs массиве в pop объекта: так pop является основным объектом, который имеет свойство из массива tabsКак отключить флажок, если он установлен при использовании контрольной модели?

<md-input-container class="md-block" flex-gt-sm="25" flex="45" content-layout-align="center start" ng-repeat="tab in allTabs"> 
    <md-checkbox checklist-model="pop.tabs" checklist-value="tab" > 
     {{tab.name}} 
    </md-checkbox> 
</md-input-container> 

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

ответ

0

Решение легко: в функции инициализации (функции, которые вызываются при загрузке страницы):

const selectedIds = pop.tabs.map(x=>x.id); 
    $scope.selectedIds = selectedIds; 

, а затем добавил ng-disabled директивы:

<md-input-container ng-repeat="tab in allTabs"> 
        <md-checkbox checklist-model="pop.tabs" checklist-value="tab" ng-disabled="selectedIds.includes(tab.id)"> 
         {{tab.name}} 
        </md-checkbox> 
       </md-input-container> 

Я попытался сделать это за пределами метода initialize но вновь выбранные id s добавлены в массив tabs объекта pop.

Смежные вопросы