2016-06-29 7 views
1

ich wie eine Tabelle mit filter ‚s haben:Angular - eine Zeile entfernen, nachdem eine Tabelle Filterung

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

Und in der Tabelle als Teil jeder Zeile, ich habe eine delete Taste:

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

wenn auf dem button klicken ich möchte die row vom UI entfernt werden, ohne dass Filter mit I splice nur verwenden:

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

Aber wenn ich Filter anwende funktioniert es nicht, weil die index (Nummer der Zeile in der angezeigten Tabelle) die UI index nicht die data index ist. Wer weiß, wie man nach dem Filtern einen row löscht?

Antwort

1

die Sie interessieren,

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

In Ihrer removeRow Funktion

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

Der Versuch, und das Ergebnis veröffentlichen. –

+0

Funktioniert gut! Vielen Dank! –