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