如何在不允许表为空的情况下删除ng-repeat表行?

时间:2017-12-29 15:43:32

标签: angularjs html-table angularjs-ng-repeat

我正在尝试删除表中的行,但我不希望它永远是空的...表以一行开头,但用户可以添加新行但也删除所有行,将表呈现为空。这是我在控制器中添加和删除行的代码:

$scope.rowItems = [{}];

$scope.addRowItems = function() {
    $scope.rowItems.push(rowItem); 
}

$scope.deleteRowItem = function(item) {
    $scope.rowItems.splice(item, 1);
}

这是我的HTML代码:

<tr ng-repeat:"rowItem in rowItems track by $index">
   ...rest of row here...
</tr>

非常感谢任何和所有这方面的帮助!!

2 个答案:

答案 0 :(得分:0)

您可以在拼接之前检查阵列的长度,并可选择向用户显示警告,警告他表中至少应有一行。

$scope.deleteRowItem = function(item) {
  if($scope.rowItems.length > 1) {
    $scope.rowItems.splice(item, 1);
  } else {
    alert("Can't remove the only row");
  }
}

答案 1 :(得分:0)

您可以在HTML视图中添加静态行:

tr

这是个好主意,因为您可以在第一个import re dotted = '1234.3456.5678' re.sub('(..)\.?(?!$)', '\\1:', dotted) # '12:34:34:56:56:78' 添加操作按钮/输入,只需添加操作事件即可添加新行或其他内容

或者您可以限制删除组件逻辑中的行,如@31piy

所示