我正在使用此checklist-model
directive循环查看可以将对象保存到数据库的复选框列表,并可以检查tabs
数组中pop
数组中存在的值1}}对象:
所以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 :(得分:0)
解决方案很简单: 在initialize函数中(加载页面时调用的函数):
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
已添加到tabs
对象的pop
数组中。