本文主要為大家帶來一篇Vue2.0+ElementUI實作表格翻頁的實例。小編覺得蠻不錯的,現在就分享給大家,也給大家做個參考。一起跟著小編過來看看吧,希望能幫助大家。
ElementUI的表格要求的資料類型為字典陣列。我使用了python3寫後端,那麼從資料庫取資料時加入一行cursorclass=pymysql.cursors.DictCursor即可。取出後我將其存入redis資料庫方便之後取用。取用時使用eval()函數再傳到前端即可。
前端放置Pagination 分頁器,我這裡直接採用了完整功能的分頁器。
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" :page-sizes="[10, 20, 50, 100]" :page-size="pagesize" layout="total, sizes, prev, pager, next, jumper" :total="data.length"> </el-pagination>
其中:handleSizeChange為pagesize改變時的對應函數,handleCurrentChange為currentPage改變時的對應函數。
page-sizes為所有可選擇的page-size。可以自己更改其中的數字。
layout為附帶的功能,一般不用動它。
total為總資料數。由於是字典數組,直接使用length方法即可得到總資料數。
data () { return { data: [], currentPage:1, pagesize:20, } },
初始頁currentPage、初始每頁資料數pagesize和資料data
methods: { handleSizeChange: function (size) { this.pagesize = size; }, handleCurrentChange: function(currentPage){ this.currentPage = currentPage; } }
上面的兩個回應函數,很好理解。
<el-table :data="data.slice((currentPage-1)*pagesize,currentPage*pagesize)" stripe style="width: 100%">
el-table標籤。透過計算很容易得到,要使當頁顯示分頁後的對應數據,其下標應為(當前頁-1)*每頁數據數 到 當前頁*每頁數據數。使用slice方法進行取用。
stripe為有斑馬紋表格。
<el-table-column prop="id" label="序号" align="center"> </el-table-column>
column標籤。可放多個,每列的控制。 label為該列名稱,顯示在第一行。 prop為data中的某key的名稱。
最後成果。
相關推薦:
關於vueElement-ui input 搜索與修改的方法
#以上是Vue2.0、ElementUI實作表格翻頁的詳細內容。更多資訊請關注PHP中文網其他相關文章!