Angular - 过滤后删除一行 table

Angular - Remove a row after filtering a table

我有一个 table 和 filter 一样 :

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

在每行的 table 中,我有一个 delete 按钮:

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

单击 button 时,我希望从 UI 中删除 row,不使用任何过滤器,我只使用 splice:

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

但是当我应用过滤器时它不会工作,因为 index(显示的 table 中的行号)是 UI index 而不是 data index。 任何人都知道如何在过滤后删除 row

试试这个,

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

在您的 removeRow 函数中,

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