本文实例讲述了Vue开发之封装分页组件与使用。分享给大家供大家参考,具体如下:
使用elementui中的el-pagination来封装分页组件
pagination.vue:
<template>
<div class="pagination">
<el-pagination small class="text-center" @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page="page.page" :page-sizes="pageSizes" :page-size="page.limit"
layout="total, sizes, prev, pager, next, jumper" :total="total">
</el-pagination>
</div>
</template>
<script>
export default {
props: {
total: {
type: Number
} // 总条数
},
data() {
return {
pageSizes: [10, 20, 50, 100],
page: {
page: 1,
limit: 10
}
};
},
methods: {
// 每页条数变更
handleSizeChange(val) {
this.page.limit = val;
this.$emit('pageChange', this.page);
},
// 当前页码变更
handleCurrentChange(val) {
this.page.page = val;
this.$emit('pageChange', this.page);
}
}
}
</script>
<style>
.pagination {
margin: 20px 0;
}
</style>
使用创建的分页组件
<pagination :total="total" @pageChange="pageChange"></pagination>
// 页码切换
pageChange(item) {
this.searchContent.page = item.page;
this.searchContent.limit = item.limit;
this.getList();
},
希望本文所述对大家vue.js程序设计有所帮助。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。