2ページ以上の表から最後の項目を削除すると、ページナビゲーションが消えます。
$scope.tableParams = new ngTableParams({
page: 1, // show first page
count: 10, // count per page
sorting: {
firstName: 'asc' // initial sorting
}
}, {
total: 0,
getData: function ($defer, params) {
$scope.myData = angular.copy($scope.clients, []);
var filteredData = params.filter() ? $filter('filter')($scope.myData, params.filter()) : $scope.myData;
var orderedData = params.sorting() ? $filter('orderBy')(filteredData, params.orderBy()) : filteredData;
params.total(orderedData.length);
var data = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count());
//EXTRA CHECK
if (data.length === 0 && params.page() !== 1){
params.page(params.page()-1);
filteredData = params.filter() ? $filter('filter')($scope.myData, params.filter()) : $scope.myData;
orderedData = params.sorting() ? $filter('orderBy')(filteredData, params.orderBy()) : filteredData;
params.total(orderedData.length);
data = orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count());
}
$defer.resolve(data);
}
});
フィルタリングされたデータが空に戻るかどうか、および1ページ目にいないかどうかを確認するために、上記のチェックで問題を回避しました。 私が見落としているこれを管理するための組み込みの方法はありますか?
+1。 上記と同じ問題があります。
回避策として、現在の行がそのページの最後の行であり、最初のページではないかどうかを確認できます。
if($ scope.tableParams.data.length == 1 && vm.tableParams.page()!= 1){
$ scope..tableParams.page(vm.tableParams.page()-1);
}
$ scope.tableParams.reload();
それは私が過去にしたことです。
ngTableがすぐにデータセットを監視することはないと思います
(これにより、潜在的なパフォーマンスの問題が発生します)。 だから私は提案します
これを解決策として使用します。
9:46の火、2017年2月7日には、M.Msallati [email protected]は書きました:
回避策として、現在の行がその最後の行であるかどうかを確認できます
ページとそれは最初のページではありませんif($ scope.tableParams.data.length == 1 && vm.tableParams.page()!= 1){
$ scope..tableParams.page(vm.tableParams.page()-1); }
$ scope..tableParams.reload();—
このスレッドにサブスクライブしているため、これを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/esvit/ng-table/issues/720#issuecomment-277949435 、またはミュート
スレッド
https://github.com/notifications/unsubscribe-auth/AA2HPnt6g1_cHsg4NhwX9VKNbwHuzASsks5raD2HgaJpZM4GLPEq
。
過去に@msallatiの回避策も使用しました。 かなりうまく機能しますが、少し面倒なので、この修正をngTableに追加すると便利です...削除操作中のチェックは1つだけなので、ライブラリ全体のパフォーマンスに影響はないと思います。
問題は、ngTableが削除操作を「認識」していないことです。
ngTableはデータセットの変更を監視する必要があります-これは
パフォーマンスの問題
10時04分AMの火、2017年2月7日には、ヤクブPowierza [email protected]
書きました:
また、 @ msallatihttps ://github.com/msallatiの回避策を使用しました
過去。 かなりうまく機能しますが、この修正をngTableに追加すると便利です
少し面倒なので…削除時のチェックは1回だけです
オペレーションなので、ライブラリ全体のパフォーマンスに影響はないと思います。—
コメントしたのでこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/esvit/ng-table/issues/720#issuecomment-277953666 、またはミュート
スレッド
https://github.com/notifications/unsubscribe-auth/AA2HPo3igPmhmaPxxusbi-rJ1YreOLGqks5raEGigaJpZM4GLPEq
。
説明ありがとうございます! 今、私は何が起こっているのかを完全に理解することができます:)
最も参考になるコメント
過去に@msallatiの回避策も使用しました。 かなりうまく機能しますが、少し面倒なので、この修正をngTableに追加すると便利です...削除操作中のチェックは1つだけなので、ライブラリ全体のパフォーマンスに影響はないと思います。