日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue+element-ui实现分页

發布時間:2025/5/22 vue 157 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue+element-ui实现分页 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我使用得是el-table+el-pagination來實現的,
話不多說,直接上代碼

html代碼部分

<!-- table --><el-table :data="showData" stripe style="width:100%" v-loading="listLoading"><el-table-column type="selection" width="55"></el-table-column><!-- <el-table-column type="index" prop="id" label="編號" width="100" sortable></el-table-column> --><el-table-column prop="id" label="編號" width="100" sortable></el-table-column><el-table-column prop="name" label="姓名" width="100" sortable></el-table-column><el-table-column prop="sex" label="性別" width="100" sortable></el-table-column><el-table-column prop="age" label="年齡" width="100" sortable></el-table-column><el-table-column prop="birthday" label="生日" width="120" sortable></el-table-column><el-table-column prop="address" label="地址" min-width="180" sortable></el-table-column><el-table-column label="操作"><template scope="scope"><!-- <el-button size="small" @click="handleEdit(scope.$index, scope.row)">編輯</el-button><el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)">刪除</el-button>--><el-button size="small" @click="handleEdit(scope.row)">編輯</el-button><el-button type="danger" size="small" @click="handleDel(scope.row)">刪除</el-button></template></el-table-column></el-table><!-- table 傳值 --><!-- <List :message='byValue'></List> --><!-- 分頁 paging --><el-pagination @size-change="handleSizeChange"@current-change="handleCurrentChange":current-page="currentPage":page-size="pageSize" layout="total, prev, pager, next"background:total="total" ></el-pagination>

JavaScript代碼部分

export default {name: "Dashbord",components: {Dialog},inject: ["reload"], //注入reload方法 data() {return {showData:[],total: 0,pageSize: 10,listLoading: false,currentPage:1,};},created(){this.getUsers();this.showTable(this.currentPage,this.pageSize);},// mounted() {// this.getUsers();// }, methods: {handleSizeChange: function (size) {this.pageSize = size;console.log(this.pageSize); //每頁下拉顯示數據this.showTable(this.currentPage,this.pageSize);},handleCurrentChange: function(currentPage){this.currentPage = currentPage;console.log(this.currentPage); //點擊第幾頁this.showTable(this.currentPage,this.pageSize);},showTable(currentPage,pageSize){this.listLoading = true;this.$axios({method: "POST",url: "http://localhost:8080/api/pagingQuery",changeOrigin: true,data: {"start":currentPage,"pageSize":pageSize}}).then(result => {this.listLoading = false;this.showData = result.data;});}}, }; </script>

在el-table中,最重要的是:data,這個數據是根據你分頁效果去后臺請求返回的數據。
在el-pagination中,:page-size表示每頁顯示的數據條數;
:total:表示總的數據數量;
:page-sizes:表示我們可以自定義每頁顯示的數量;
:currentPage:表示當前的頁碼;
@size-change="handleSizeChange",@current-change="handleCurrentChange" 是el-pagination中的事件,表示每頁顯示的數據和頁碼的變化;
layout:表示分頁欄的布局;
background:表示是否帶背景色

需要主要的是start變量,因為在后臺程序中,我使用的是limit(m,n)來進行分頁查詢的:

select * from list limit #{start},#{pageSize}

start表示開始查詢的位置,pageSize表示從開始位置要查詢的數量; 如果后臺沒有做start的處理,在這里我們可以在showTable方法中做處理:

currentPage = (currentPage-1) * pageSize;

這樣就能夠正確查詢數據

轉載于:https://www.cnblogs.com/Buries/p/11304061.html

總結

以上是生活随笔為你收集整理的vue+element-ui实现分页的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。