Ng-table: Menghapus baris dari ngTable saat itu adalah item terakhir di halaman

Dibuat pada 8 Okt 2015  ·  6Komentar  ·  Sumber: esvit/ng-table

Saat item terakhir dihapus dari tabel di halaman 2 atau lebih tinggi, navigasi paginasi menghilang.

    $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);

        }
    });

Saya mengatasinya dengan pemeriksaan di atas untuk melihat apakah data yang difilter kembali kosong dan jika kita tidak berada di halaman satu. Apakah ada cara bawaan untuk mengelola ini yang saya abaikan?

Komentar yang paling membantu

Saya juga pernah menggunakan solusi @msallati di masa lalu. Bekerja cukup baik tetapi akan menyenangkan untuk menambahkan perbaikan ini ke ngTable karena sedikit mengganggu... Ini hanya satu pemeriksaan selama operasi penghapusan jadi saya pikir itu tidak akan menjadi hit kinerja untuk perpustakaan secara keseluruhan.

Semua 6 komentar

+1. Saya punya masalah yang sama seperti di atas.

Sebagai solusinya, Anda dapat memeriksa Jika baris saat ini adalah yang terakhir di halaman itu dan itu bukan halaman pertama

if ($scope.tableParams.data.length == 1 && vm.tableParams.page() != 1) {
$scope..tableParams.page(vm.tableParams.page() - 1);
}
$scope.tableParams.reload();

Itulah yang telah saya lakukan di masa lalu.

Saya tidak berpikir ngTable akan memantau kumpulan data dalam waktu dekat
(ini akan menimbulkan masalah kinerja potensial). Jadi saya akan menyarankan
pergi dengan ini sebagai solusi.

Pada Selasa, 7 Februari 2017 pukul 09:46, M.Msallati [email protected] menulis:

Sebagai solusinya, Anda dapat menceck Jika baris saat ini adalah yang terakhir pada itu
halaman dan itu bukan halaman pertama

if ($scope.tableParams.data.length == 1 && vm.tableParams.page() != 1) {
$scope..tableParams.page(vm.tableParams.page() - 1); }
$scope..tableParams.reload();


Anda menerima ini karena Anda berlangganan utas ini.
Balas email ini secara langsung, lihat di GitHub
https://github.com/esvit/ng-table/issues/720#issuecomment-277949435 , atau bisukan
benang
https://github.com/notifications/unsubscribe-auth/AA2HPnt6g1_cHsg4NhwX9VKNbwHuzASsks5raD2HgaJpZM4GLPEq
.

Saya juga pernah menggunakan solusi @msallati di masa lalu. Bekerja cukup baik tetapi akan menyenangkan untuk menambahkan perbaikan ini ke ngTable karena sedikit mengganggu... Ini hanya satu pemeriksaan selama operasi penghapusan jadi saya pikir itu tidak akan menjadi hit kinerja untuk perpustakaan secara keseluruhan.

Masalahnya adalah ngTable tidak "tahu" tentang operasi penghapusan.
ngTable perlu melihat dataset untuk perubahan - ini akan menjadi
masalah kinerja

Pada Tue, Feb 7, 2017 at 10:04, Jakub Powierza [email protected]
menulis:

Saya juga menggunakan @msallati https://github.com/msallati solusi di
masa lalu. Bekerja cukup bagus tetapi akan menyenangkan untuk menambahkan perbaikan ini ke ngTable
karena sedikit mengganggu... Hanya satu pemeriksaan saat menghapus
operasi jadi saya pikir itu tidak akan menjadi hit kinerja untuk perpustakaan secara keseluruhan.


Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub
https://github.com/esvit/ng-table/issues/720#issuecomment-277953666 , atau bisu
benang
https://github.com/notifications/unsubscribe-auth/AA2HPo3igPmhmaPxxusbi-rJ1YreOLGqks5raEGigaJpZM4GLPEq
.

Terima kasih atas penjelasan Anda! Sekarang saya dapat sepenuhnya memahami apa yang terjadi :)

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

penchiang picture penchiang  ·  5Komentar

jlebleu picture jlebleu  ·  3Komentar

alienriquebm picture alienriquebm  ·  6Komentar

muhlegg picture muhlegg  ·  29Komentar

faceleg picture faceleg  ·  11Komentar