UI-复选框更改时的 GRID 列总和

UI-GRID column summation on checkbox change

有谁知道为什么当我多次点击不同的单选值时,我的动态总计值会发生巨大变化? 下面的代码应该根据单选按钮自动 select 复选框列。不知道为什么会出现计算错误。

switch($scope.ChangeAll.name) {
                case 'x':
              row.xBox = true;
                    row.yBox = false;
                    row.zBox = false;
                break;
                case 'y':
              row.xBox = false;
                    row.yBox = true;
                    row.zBox = false;
                break;
                case 'z':
              row.xBox = false;
                    row.yBox = false;
                    row.zBox = true;
                    break;
                default:
                    row.xBox = true;
                    row.yBox = false;
                    row.zBox = false;

                }

https://plnkr.co/edit/bAnz9kCuKWGIfWD4lEO2?p=preview

这个调整应该可以做到。

AngularJS控制器(相关代码更改):

$scope.updateSelection = function(value) {
  switch ($scope.ChangeAll.name) {
    case 'x':
      angular.forEach($scope.myData, function(row, idx) {
        row.xBox = true;
        row.yBox = false;
        row.zBox = false;
      });
      break;
    case 'y':
      angular.forEach($scope.myData, function(row, idx) {
        row.xBox = false;
        row.yBox = true;
        row.zBox = false;
      });
      break;
    case 'z':
      angular.forEach($scope.myData, function(row, idx) {
        row.xBox = false;
        row.yBox = false;
        row.zBox = true;
      });
      break;
    default:
      angular.forEach($scope.myData, function(row, idx) {
        row.xBox = true;
        row.yBox = false;
        row.zBox = false;
      });
  }
};

所有重要的 Plunker 更新,https://plnkr.co/edit/QOkoG9pC7gETvZ4I7Xkq?p=preview