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的名稱。

最后成果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM