vue项目中实现分页效果,供大家参考,具体内容如下
1.这里我们使用element-ui来实现,先使用npm安装
1
|
npm i element-ui -S |
2.在main.js中全局引入
1
2
3
4
|
import ElementUI from "element-ui" import 'element-ui/lib/theme-chalk/index.css' Vue.use(ElementUI) //将element-ui挂在到全局 |
3.封装组件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
< template > < div class = "block" > < el-pagination @ current-change = "handleCurrentChange" :current-page = "currentPage" :page-size = "6" layout = "prev, pager, next, jumper" :total = "total" :pager-count = "5" > </ el-pagination > </ div > </ template > < script > export default { props: ["num", "page"], //传入的总条数,和页码 data() { return {}; }, computed: { currentPage: function() { return this.page; }, total: function() { return this.num; } }, methods: { handleSizeChange(val) { this.$emit("size-change", val); }, handleCurrentChange(val) { this.$emit("current-change", val); } } }; </ script > < style > .block { text-align: right; /* width: 100%; */ } </ style > |
4.引入组件并使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
< template > < div class = "mobild" > < div > < ATablePaging :num = "num" :page = "page" @current-change="(val) => { page = val; list(); }" ></ ATablePaging > </ div > </ div > </ template > < script > import ATablePaging from "../paging"; //引入分页组件 export default { data() { return { page:"", //当前页码 num: 1, //内容总条数 }; }, methods: { list() { //发送的http请求 //后端返回的总页数等于num }, }, mounted() { this.news(); }, components: { ATablePaging } }; </ script > < style scoped> </ style > |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/youngKing0615/article/details/108646438