如何从网格中删除项目时重置数组

How to reset array when item is deleted from the grid?

本文关键字:数组 删除项目 网格      更新时间:2023-09-26

打开时我有一个模态窗口,我有网格,我正在将$scope.controlDTO.controlOwners设置为$scope.selectedOwners网格数据源数组,现在当我使用$scope.deleteOwner行删除此项目时,行已从网格中删除,但是当您再次打开模态窗口时,行再次填充。

如何使用 angularJs 解决此问题?

控制.js

$scope.selectedOwners = [];
    $scope.opencntrlOwner = function() {
        this.ctrlOwnerModal.open().center();
        if ($state.is('app.editControl')) {
          $scope.selectedOwners = angular.copy($scope.controlDTO.controlOwners);
          console.log('EDIT CONTROL OWNERS DATA', $scope.selectedOwners);
        }
        controlOwnersDataSource();
    };
 $scope.deleteOwner = function(dataItem) {
      angular.forEach($scope.selectedOwners, function(owner, $index) {
        if (owner.workerKey === dataItem.workerKey) {
            $scope.selectedOwners.splice($index, 1);
        }
        controlOwnersDataSource();
      });
    };
在我看来

,问题是每次打开模态时,您都会复制$scope.controlDTO.controlOwners但在删除时,您只会从$scope.selectedOwners中删除。在删除时也向$scope.controlDTO.controlOwners添加拼接,它应该可以工作。

当您从$scope.selectedOwners中删除所有者时,它不会从$scope.controlDTO.controlOwners中删除,因此您还希望将其从该数组中拼接出来。