Ng-table: حذف الصف من ngTable عندما يكون العنصر الأخير في الصفحة

تم إنشاؤها على ٨ أكتوبر ٢٠١٥  ·  6تعليقات  ·  مصدر: esvit/ng-table

عند إزالة العنصر الأخير من جدول في الصفحة 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);

        }
    });

لقد تمكنت من الالتفاف حولها من خلال الفحص أعلاه لمعرفة ما إذا كانت البيانات التي تمت تصفيتها فارغة وما إذا لم نكن في الصفحة الأولى. هل هناك طريقة مدمجة لإدارة هذا أتجاهلها؟

التعليق الأكثر فائدة

لقد استخدمت أيضًا msallati الحل البديل في الماضي. يعمل بشكل جيد جدًا ولكن سيكون من الجيد إضافة هذا الإصلاح إلى ngTable لأنه مزعج بعض الشيء ... إنه فحص واحد فقط أثناء عملية الحذف ، لذلك أعتقد أنه لن يكون أداءً ناجحًا للمكتبة الإجمالية.

ال 6 كومينتر

+1. لدي نفس المشكلة على النحو الوارد أعلاه.

كحل بديل ، يمكنك التحقق مما إذا كان الصف الحالي هو آخر صف في تلك الصفحة وليس الصفحة الأولى

إذا ($ scale.tableParams.data.length == 1 && vm.tableParams.page ()! = 1) {
النطاق..جدول بارامز. الصفحة (vm.tableParams.page () - 1) ؛
}
domain.tableParams.reload $ ()؛

هذا ما فعلته في الماضي.

لا أعتقد أن ngTable سيراقب مجموعة البيانات في أي وقت قريب
(هذا من شأنه أن يعرض مشاكل الأداء المحتملة). لذلك أود أن أقترح
الذهاب مع هذا كحل.

في الثلاثاء ، 7 فبراير 2017 الساعة 9:46 صباحًا ، كتب M.Msallati [email protected] :

كحل بديل ، يمكنك النقر إذا كان الصف الحالي هو آخر صف في ذلك
الصفحة وليست الصفحة الأولى

إذا ($ scale.tableParams.data.length == 1 && vm.tableParams.page ()! = 1) {
النطاق..جدول بارامز. الصفحة (vm.tableParams.page () - 1) ؛ }
نطاق $..tableParams.reload ()؛

-
أنت تتلقى هذا لأنك مشترك في هذا الموضوع.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/esvit/ng-table/issues/720#issuecomment-277949435 ، أو كتم الصوت
الخيط
https://github.com/notifications/unsubscribe-auth/AA2HPnt6g1_cHsg4NhwX9VKNbwHuzASsks5raD2HgaJpZM4GLPEq
.

لقد استخدمت أيضًا msallati الحل البديل في الماضي. يعمل بشكل جيد جدًا ولكن سيكون من الجيد إضافة هذا الإصلاح إلى ngTable لأنه مزعج بعض الشيء ... إنه فحص واحد فقط أثناء عملية الحذف ، لذلك أعتقد أنه لن يكون أداءً ناجحًا للمكتبة الإجمالية.

المشكلة هي أن ngTable لا "يعرف" عن عملية الحذف.
سيحتاج ngTable إلى مشاهدة مجموعة البيانات لمعرفة التغييرات - سيكون هذا ملف
مشكلة في الأداء

يوم الثلاثاء ، 7 فبراير ، 2017 الساعة 10:04 صباحًا ، Jakub Powierza [email protected]
كتب:

لقد استخدمت أيضًا msallati https://github.com/msallati الحل البديل في ملف
ماضي. يعمل بشكل جيد ولكن سيكون من الجيد إضافة هذا الإصلاح إلى ngTable
لأنه مزعج بعض الشيء ... إنه فحص واحد فقط أثناء الحذف
العملية لذا أعتقد أنها لن تكون ذات أداء ناجح للمكتبة بشكل عام.

-
أنت تتلقى هذا لأنك علقت.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/esvit/ng-table/issues/720#issuecomment-277953666 ، أو كتم الصوت
الخيط
https://github.com/notifications/unsubscribe-auth/AA2HPo3igPmhmaPxxusbi-rJ1YreOLGqks5raEGigaJpZM4GLPEq
.

شكرا على توضيحك! الآن يمكنني أن أفهم تمامًا ما يحدث :)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات