角度清单模型取消选中也会删除日期

Angular checklist model uncheck removes date too

本文关键字:日期 删除 取消 单模型 模型      更新时间:2023-09-26

所以我正在使用一个名为angular-checklist-model的插件,它调用一个ng-repeat,根据提供的值构建一个dat列表。每个日期都有一个重合的复选框,允许用户取消选中要提交的值。我遇到的问题是用户取消选中一个框,但该框和日期消失而不仅仅是取消选中。不知道我哪里出了问题。这是我的代码:

控制器来拉取日期(这也更像是验证日期等):

$scope.getRecurDates = function() {
    if (!$scope.validateDates()) return;
    console.log('dates are valid')
    if ($scope.editMode) {
        recurDateCrit.recurClaimId = $scope.recurInfo.id;
        recurDateCrit.benefitId = null;
    } else {
        recurDateCrit.benefitId = $scope.recurInfo.benefitId;
        recurDateCrit.recurClaimId = null;
    }
    recurDateCrit.interval = $scope.recurInfo.intervalId;
    recurDateCrit.fromDate = $scope.recurInfo.fromDate;
    recurDateCrit.toDate = $scope.recurInfo.toDate;
    recurService.getRecurDates($scope.transId, recurDateCrit).then(function(results) {
        $scope.recurringDates = results.data;
        $scope.recurInfo.dates = results.data;
        console.log('dates received')
    }, function(response) {
        console.log('error occurred retrieving dates')
        $scope.errMsg = errorService.getAllErrs(response.data);
    });
};

以及我认为创建这个的部分:

<div class="form-group col-md-12 dateArea">
    <p class="input-group" ng-repeat="recurDate in recurringDates">
        <input type="checkbox" name="recurringdate" checklist-model="recurInfo.dates" checklist-value="recurDate">{{ recurDate.date }}
    </p>
</div>

问题是recurringDatesrecurInfo.dates都指向同一个results.data。一个应该是所有选项,另一个应该是选定的选项。

试试这个

$scope.recurringDates = results.data.slice();
$scope.recurInfo.dates = results.data.slice();

我假设results.data是一个数组,我使用slice创建了一个浅层克隆。