elementUI的分頁組件只支持上下翻頁,不支持跳轉頁碼


項目需求:接口獲取的數據量超大,所以不支持跳頁,只支持點擊上一頁下一頁的翻頁功能。

 1、知道數據一共多少條

原來的樣子:

 

 

 

 

 改造后的樣子:

 

 

所以做如下修改:

 

 

 

 2、不知道數據一共多少條

 

 

 

這時需要考慮的問題是:第一頁時 上一頁這個按鈕不可點擊,最后一頁時 下一頁這個按鈕不可點擊。

接口數據:因為數據量超大,所以沒有總條數,只有continuationPoint,preContinuationPoint來表示是否有上下頁數據。

思路:如果有下一頁數據,計算分頁組件的total:pageSize乘以 currentPage 再加1。為什么如此計算?因為當前頁是currentPage ,並且還有下一頁,說明總條數比pageSize乘以 currentPage的數據多,所以加上1條,這里計算的total並不准確,其實也並不需要准確,因為我們需要的就是可以點擊下一頁就好。點擊下一頁獲取到新數據后又會再重新計算。

代碼如下:這里是接口返回的數據,前端可以知道是否有下一頁或上一頁數據

continuationPoint不為空 代表有下一頁數據,反之亦然
preContinuationPoint不為空 代表有上一頁數據,反之亦然

              if(!data.continuationPoint && !data.preContinuationPoint) {
                // 無數據
                this.paging.total = 0;         
              }else if(data.continuationPoint && !data.preContinuationPoint) {
                // 第一頁時
                this.paging.currentPage = 1
                this.paging.total = this.paging.pageSize + 1 // total數據並不准確,這里只需要能翻到下頁即可
              }else if(data.continuationPoint && data.preContinuationPoint ) {
                // 中間頁時
                this.paging.total = this.paging.pageSize * this.paging.currentPage + 1 // total數據並不准確,這里只需要能翻到下頁即可
              }else if(!data.continuationPoint && data.preContinuationPoint) {
                // 最后一頁時
                this.paging.total = this.paging.pageSize * this.paging.currentPage
              }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM