文章目录
- 分页功能分析和实现
- el-pagination分页组件
- 接下来就找个最复杂的分页来进行分析和使用
- 总结
分页功能分析和实现
首先了解为什么很多项目采用分页功能,他们的需求是什么?比如管理后台表格内容的分页和电商平台同时展示的数据有很多。由于数据可能较多,会造成游览器卡顿的现象,所以采用分页的功能。
el-pagination分页组件
element-ui官网element ui=>el-pagination分页文件 ElementUI是有分页组件,采用起来超级简单,一般应用于后台项目,前台项目一般不用,剩下让我们了解一下分页器的功能和实现
接下来就找个最复杂的分页来进行分析和使用
1.先搭建一个vue项目
vue项目搭建可以参考这篇文章2.使用element-ui和创建vue组件
配置element-ui
main.js
import Vue from 'vue'
import App from './App.vue'
import './registerServiceWorker'
import router from './router'
import store from './store'
// 引入element ui
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.config.productionTip = false
Vue.use(ElementUI);
new Vue({
el: '#app',
router,
store,
render: h => h(App)
})
创建一个组件,用于放el-pagination
pagination.vue,首先先把element的组件放进来,接下来再进行更改配置
<template>
<div>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage4"
:page-sizes="[100, 200, 300, 400]"
:page-size="100"
prev-text="上一页"
next-text="下一页"
layout="total, sizes, prev, pager, next, jumper"
:total="400">
</el-pagination>
</div>
</template>
<script>
export default {
methods: {
// size-change 一页显示的数据条数发生了改变触发
handleSizeChange(val) {
console.log(`每页 ${val} 条`);
},
// current-change 页码发生改变的时候触发
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
}
},
data() {
return {
currentPage1: 5,
currentPage2: 5,
currentPage3: 5,
currentPage4: 4
};
}
}
</script>
- prev-text 替代图标显示的上一页文字
- next-text 替代图标显示的下一页文字
以下参数需要跟后台的数据配合的,才能实现逻辑功能 - total 总条数
- current-page 当前页
- page-sizes 每页显示多少条
- page-size 一页显示多少条
- size-change 指的是一页展示多少条发生改变的钩子函数
- current-change 当前页码发生改变的时候触发
展示pagination.vue组件,为了方便我就不配置路由了,直接在App.vue引入展示
App.vue
<template>
<div id="app">
<paginationView/>
</div>
</template>
<script>
import paginationView from './views/pagination.vue'
export default{
components:{
paginationView
}
}
</script>
<style>
</style>
展示效果
总结