飞道的博客

从0到1完成一个Vue后台管理项目(十六、后端分页方法以及分页组件的封装以及复用)

292人阅读  评论(0)

往期

从0到1完成一个Vue后台管理项目(一、创建项目)

从0到1完成一个Vue后台管理项目(二、使用element-ui)

从0到1完成一个Vue后台管理项目(三、使用SCSS/LESS,安装图标库)

从0到1完成一个Vue后台管理项目(四、引入axios、配置路由)

从0到1完成一个Vue后台管理项目(五、登录页(表单校验的使用和封装))

从0到1完成一个Vue后台管理项目(五、登录页,mock,token,axios封装)

从0到1完成一个Vue后台管理项目(六、404页)

从0到1完成一个Vue后台管理项目(七、Header、Footer、页面布局)

从0到1完成一个Vue后台管理项目(八、Menu改造完善、子组件创建、配置路由)

从0到1完成一个Vue后台管理项目(九、引入Breadcrumb面包屑,更改bug)

从0到1完成一个Vue后台管理项目(十、列表API封装、Table列表渲染、表格数据转换)

从0到1完成一个Vue后台管理项目(十一、前端分页实现)

从0到1完成一个Vue后台管理项目(十二、学生table列表删除、查询、重置)

从0到1完成一个Vue后台管理项目(十三、信息列表页面实现:对话框新增、DateTimePicker 日期时间选择器)

从0到1完成一个Vue后台管理项目(十四、对话框封装、接口联通、api优化 很重点(封装思想))

从0到1完成一个Vue后台管理项目(十五、作业列表、表格数据方法的封装)

页面改造

我们顺便加一个loading、优化一下




分页接口





成功

分页组件的封装以及复用

common下建立Pageing.vue

分页使用上


代码

<template>
  <div>
    <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page" :page-sizes="[5, 10, 20, 50,100]" :page-size="size" layout="total, sizes, prev, pager, next, jumper" :total="total" :url="url">
    </el-pagination>
  </div>
</template>


<script>
import {
      getTableData } from '@/utils/table.js'
export default {
     
  data() {
     
    return {
     
      page: 1, //当前页数
      size: 10, //每页显示条数
      loading: true
    }
  },
  created() {
     
    getTableData(this, '/works', {
      page: this.page, size: this.size }, ['completed'])
  },
  methods: {
     
    handleSizeChange(val) {
     
      this.size = val
      this.page = 1
      getTableData(this, '/works', {
      page: this.page, size: val }, ['completed'])
    },
    handleCurrentChange(val) {
     
      this.page = val
      getTableData(this, '/works', {
      page: val, size: this.size }, ['completed'])
    }
  }
}
</script>


<style lang="scss" scoped>
</style>

 

使用分页组件

这里需要注意我们获取的不再是this(组件实例)


完成


转载:https://blog.csdn.net/weixin_59816940/article/details/128626557
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场