vue使用elementUI分頁如何實現切換頁面時返回頁面頂部
使用elementUI分頁實現切換頁面時返回頁面頂部
原理
給elementUI分頁組件的切換頁面時觸發事件(在這裡就是handleCurrentChange函數)添加一個跳轉到頁頂的方法即可。
實現
<!-- 分頁組件 --> <el-pagination @current-change="handleCurrentChange" > </el-pagination>
//跳到頁頂 scrollTop(selector) { let element = selector && document.querySelector(selector) || window; element.scrollTo(0, 0); }, handleCurrentChange(val) { ... this.scrollTop() }
element-ui分頁el-pagination的坑
1.所有的信息都必須的動態的
<el-pagination class="pull-right clearfix" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo" :page-sizes="pageSizesList" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="totalDataNumber"> </el-pagination>
2.數據在data裡面
pageNo: 1, pageSize: 10, pageSizesList: [10, 15, 20, 30, 50], tableData: [],//返回的結果集合 totalDataNumber: 0,//數據的總數,
3.這是重中之重,認真我的認證
this.$http({ method: 'POST', url: '/api/Acs/QueryAccessLog', data: requestData }).then(function (resp) { console.log(resp); if (resp.data.Data.Result.length > 0) { likeThis.tableData = resp.data.Data.Result; likeThis.totalDataNumber = resp.data.Data.Total; likeThis.listLoading=false; } else { likeThis.tableData = []; likeThis.totalDataNumber = 0; } })
//改變每頁顯示數量 handleSizeChange(val){ var likeThis=this; var pageSize = `${val}`; this.pageNo=1 this.pageSize= parseInt(pageSize); console.log('pageSize: '+pageSize); this.$nextTick(() => this.getAndDraw(1,pageSize,function (resp) { likeThis.totalDataNumber = resp.data.Data.Total; }) ) },
//改變頁碼 handleCurrentChange(val){ var pageSize=this.pageSize; // this.pageNo=pageNo; console.log('pageSize:'+this.pageSize) this.getAndDraw(parseInt(pageNo),parseInt(pageSize)); },
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Vue組件庫ElementUI實現表格列表分頁效果
- vue項目實現分頁效果
- Vue使用v-model封裝el-pagination組件的全過程
- Element的Pagination分頁sync問題小結
- vue父組件監聽子組件數據更新方式(hook)