ant-design-vue table分頁onShowSizeChange后的pageNo解決
ant-design-vue table分頁onShowSizeChange后的pageNo
onSizeChange 后當(dāng)前頁問題
首先,大致描述一下出現(xiàn)這個(gè)問題的情形:
data(){ ? ? ?return { ? ? ? ?pagination: { ? ? ? ? ? ? pageNo: 1, ? ? ? ? ? ? pageSize: 5, ? ? ? ? ? ? total:0, ? ? ? ? ? ? showSizeChanger: true, ? ? ? ? ? ? pageSizeOptions: ['5', '10', '50'], ? ? ? ? ? ? showTotal: total => `共 ${total} 條`, ? ? ? ? ? ? onShowSizeChange: (current, pageSize) => this.onSizeChange(current, pageSize), ? ? ? ? ? ? onChange:(page,pageSize)=> this.onPageChange(page, pageSize) ? ? ? ? }, ? ? ? } ? }, methods: { ??? ?onPageChange(page, pageSize) { ? ? ? this.pagination.pageNo = page ? ? ? ?this.getList() ? ?}, ? ?onSizeChange(current, pageSize) { ? ? ? ?this.pagination.pageNo = 1 ? ? ? ?this.pagination.pageSize = pageSize ? ? ? ?this.getList() ? ?} }
頁面加載數(shù)據(jù),pageNo 是 1, pageSize 是 5,假如接口返回 total 是 12,這時(shí)分頁有3頁,選擇第2頁,然后改變每頁條數(shù)為10,onSizeChange 里面設(shè)置了this.pagination.pageNo = 1,但是得到的結(jié)果是 當(dāng)前頁在第2頁.
原因分析
自己百度查找并沒有找到解決的方法,還希望哪個(gè)高手給指點(diǎn)下(不知道是不是 antd的bug)
解決方法: 升級(jí) antd 版本
后來看了下官方文檔,發(fā)現(xiàn)新的版本 已經(jīng)舍棄了 pageNo,改用 current,上面的問題在版本升級(jí)后也沒再出現(xiàn),我之前使用的版本是"ant-design-vue": "~1.3.8",現(xiàn)在官網(wǎng)的版本是1.5.3,如果有遇到類似問題的小伙伴可以升級(jí)下版本試試.
?onSizeChange(current, pageSize) { ? ? ?this.pagination.current= 1 ? ? ?this.pagination.pageSize = pageSize ? ? ?this.getList() ?}
vue AntDesign table分頁
1、<a-table></a-table>標(biāo)簽中添加屬性 :pagination="pagination"
2、data中設(shè)置pagination和total
data(){ return { totai:0, //總條數(shù) pagination: { current: 1,//頁碼 pageSize: 10,//條數(shù) showSizeChanger: true, total: this.total, pageSizeOptions: ['5', '10', '20', '30', '40', '100'], showTotal: (total) => `共 ${total} 條數(shù)據(jù)`, onShowSizeChange: this.pageSizeChange, onChange: this.pageChange, }, } }
3、methods 方法中
methods:{ pageSizeChange(val, pageNum) { this.loading = true this.pagination.pageSize = pageNum this.pagination.current = 1 const params = { rows: this.pagination.pageSize, page: this.pagination.current, } this.getTemplateLibraryList(params) //獲取列表數(shù)據(jù) }, pageChange(page, val) { this.loading = true this.pagination.current = page const params = { rows: this.pagination.pageSize, page: this.pagination.current, } this.getTemplateLibraryList(params) //獲取列表數(shù)據(jù) }, }
4、獲取列表數(shù)據(jù)后
this.data = res && res.hasOwnProperty('rows') ? res.rows : [] this.total = res && res.hasOwnProperty('total') ? res.total : 0 this.pagination.total = this.total
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue實(shí)現(xiàn)圖片滾動(dòng)的示例代碼(類似走馬燈效果)
下面小編就為大家分享一篇vue實(shí)現(xiàn)圖片滾動(dòng)的示例代碼(類似走馬燈效果),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-03-03關(guān)于Vue?監(jiān)控?cái)?shù)組的問題
這篇文章主要介紹了Vue?監(jiān)控?cái)?shù)組的示例,主要包括Vue?是如何追蹤數(shù)據(jù)發(fā)生變化,Vue?如何更新數(shù)組以及為什么有些數(shù)組的數(shù)據(jù)變更不能被?Vue?監(jiān)測到,對(duì)vue監(jiān)控?cái)?shù)組知識(shí)是面試比較常見的問題,感興趣的朋友一起看看吧2022-05-05詳解iview的checkbox多選框全選時(shí)校驗(yàn)問題
這篇文章主要介紹了詳解iview的checkbox多選框全選時(shí)校驗(yàn)問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-06-06vue 監(jiān)聽窗口變化對(duì)頁面部分元素重新渲染操作
這篇文章主要介紹了vue 監(jiān)聽窗口變化對(duì)頁面部分元素重新渲染操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07Vue中的v-model,v-bind,v-on的區(qū)別解析
vue.js是一套構(gòu)建用戶界面的框架,只關(guān)注視圖層,它不僅易于上手,還便于與第三方庫或既有項(xiàng)目整合,vue.js有配套的第三方類庫,可以整合起來做大型項(xiàng)目的開發(fā),這篇文章主要介紹了v-model,v-bind,v-on的區(qū)別,需要的朋友可以參考下2022-12-12Vue 級(jí)聯(lián)下拉框的設(shè)計(jì)與實(shí)現(xiàn)
在前端開發(fā)中,級(jí)聯(lián)選擇框是經(jīng)常用到的,這樣不僅可以增加用戶輸入的友好性,還能減少前后端交互的數(shù)據(jù)量。本文就介紹一下使用Vue實(shí)現(xiàn)級(jí)聯(lián)下拉框,感興趣的可以了解一下2021-07-07