我正在使用Checklist-model来显示带复选框的数据。数据是作为承诺的结果提供的。列表正在填充,但我想将所有复选框设置为默认选中。我怎么能做到这一点?
这是我的代码:
Date = models.DateField(default=datetime.date.today)
datas.getRules().then(
function (resRules)
{
$scope.rules = resRules.data._embedded.rules;
$scope.versionForm.ignoreRule = $scope.rules.map(r => r.id);
console.log($scope.versionForm.ignoreRule);
},
function (resRulesErr)
{
console.log(resRulesErr);
}
);
当<table class="table">
<thead>
<tr>
<th>Include</th>
<th>Rule</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="r in rules track by $index">
<td><input type="checkbox" checklist-model="versionForm.ignoreRule" checklist-value="r.id" />
</td>
<td>{{r.expression}}</td>
</tr>
</tbody>
</table>
打印到控制台时,显示[64,67,18]。
答案 0 :(得分:0)
您的代码几乎没有问题:
$scope.versionForm.ignoreRule = $scope.rules.map(r => r.id);
应该是
$scope.versionForm.ignoreRule = $scope.rules;
你想使用一组规则(对象),但实际上你有一个id数组。
<tr ng-repeat="r in rules track by $index">
应该是
<tr ng-repeat="r in rules track by r.id">
,你必须确保id是唯一的。