Angular - 过滤表后删除一行

时间:2016-06-29 13:29:52

标签: angularjs angularjs-ng-repeat angular-filters

我有一张filter的表格,如:

ng-repeat="person in filtered = ( data | filter:query | filter : name | filter {m_resource: resourceFilter} | filter : {m_id : idFilter} | limitTo:maxRowSize )"

作为每一行的一部分,在表格中,我有一个delete按钮:

<button class ="btn" ng-click="removeRow($data, $index, this)">del</button>

点击button时,我希望从row移除UI,而不使用任何过滤器,我只使用splice

$scope.data.splice(index, 1);

但是当我应用过滤器时,由于index(显示表中行的数字)是UI index而不是data index,因此无法工作。 任何人都知道如何在过滤后删除row

1 个答案:

答案 0 :(得分:1)

试试这个,

<button class ="btn" ng-click="removeRow(person)">del</button>

在你的removeRow函数中,

var index = $scope.data.indexOf(person);
$scope.data.splice(index, 1);