首页 > 其他分享 >直播平台制作,vue + element ui 实现前端分页

直播平台制作,vue + element ui 实现前端分页

时间:2023-06-07 14:23:13浏览次数:32  
标签:vue 分页 pageSize element rightsList ui 每页 total 数据

直播平台制作,vue + element ui 实现前端分页

一、DOM结构

 

<el-pagination @size-change="handleSizeChange"
     @current-change="handleCurrentChange"
      :current-page="currentPage"
      :page-sizes="[5, 10, 15, 30]"
      :page-size="pageSize"
      layout="total, sizes, prev, pager, next, jumper"
      :total="total" background>
</el-pagination>
 

二、完整 JavaScript

 

export default {
  name: 'index',
  data(){
      return {
        // 权限列表,向后台请求数据获取,格式为[{},{},{}]
        rightsList:[],
        // 分页数据,这里用来保存每页切割后的数据
        // 格式为[[{},{},{}],[{},{},{}]]
        // 数组内套数组,每个数组就是一页数据
        totalPageData: [],
        // 共几页
        pageNum:1,
        // 每页显示数量
        pageSize:5,
        // 当前显示页码
        currentPage:1,
        // 总共多少条数据
        total:1,
        // 当前要显示的数据
        dataShow:[]
    }
}
  created() {
    this.$api.queryRoomList().then(res => {
      // 需要分页的数据
      this.rightsList = res.rows
      this.total = res.rows.length;
      // 计算页数
      this.calcPageData();
    })
  },
   methods: {
calcPageData(){
    // 计算页数(根据后台数据的条数和每页显示数量算出一共几页,得0时设为1)
    if(this.rightsList.length > 1){
        this.pageNum = Math.ceil(this.rightsList.length / this.pageSize) || 1;
    }
    // 数据分组
    for (let i = 0; i < this.pageNum; i++) {
        // 每一页都是一个数组 形如 [['第一页的数据'],['第二页的数据'],['第三页数据']]
        // 根据每页显示数量 将后台的数据分割到 每一页,假设pageSize为5, 则第一页是1-5条,即slice(0,5),第二页是6-10条,即slice(5,10)...
        this.totalPageData[i] = this.rightsList.slice(this.pageSize * i, this.pageSize * (i + 1));
    }
    // 获取到数据后显示第一页内容,数组下标是从0开始的,这里一定要减去1,不然会丢失一组数据
    this.dataShow = this.totalPageData[this.currentPage - 1];
},
// 每页条数发生变化
handleSizeChange(val) {
    this.pageSize = val;
    // 重新计算页数并分组
    this.calcPageData();
},
// 当前页码发生变化
handleCurrentChange(val) {
    this.currentPage = val;
    // 这里仍然不要忘记减去1
    this.dataShow = this.totalPageData[newPageNum - 1];
}
}
}

 

 以上就是 直播平台制作,vue + element ui 实现前端分页,更多内容欢迎关注之后的文章

 

标签:vue,分页,pageSize,element,rightsList,ui,每页,total,数据
From: https://www.cnblogs.com/yunbaomengnan/p/17463155.html

相关文章

  • 一次成功的ANSYS Electromagnetics Suite
    【准备说明】1.下载软件,链接来自https://www.mr-wu.cn/ansys-electromagnetics-suite-2020-r1/#ftoc-heading-22.下载安装包得到如下文件夹: 3.由吴斌川老师博客下的留言得,可能会遇到各种各样得问题,要有心理准备,并先阅读Crack文件夹中的readme: 大致翻译如下:不要安装ANSYS......
  • vue3使用ElementPlus的消息el-message样式不生效或者被遮盖(z-index)
    一、el-message自定义样式不生效想改弹出框的位置时不生效,使用了el-message的自定义类的custom-class属性也不行。原因应该是加了scoped后使用到里面样式的dom会添加data-v-xxxx这种属性防止css污染,但是message生成的dom是没有添加data-v-xxx属性的,所以样式无效。解决方式:js动态设......
  • element ui 中获取级联积极下拉框的示例
      <el-form-itemlabel="班组"prop="bz">              <el-cascader:options="orgTreeData"ref="bzNameRef":show-all-levels="false"                :props="{che......
  • Vue2项目开发时遇到:<template v-for> key should be placed on the <template> tag
    问题缘由:Vue2和Vue3中,对待template中存在v-for行为的组件正好相反Vue2中key必须写在子元素中,Vue3中key必须写在template中,不然会报错使用volar插件,使用Vue3语法检测代码,导致错误 解决方案:1、禁用volar2、貌似可以修改配置项,但尚未尝试......
  • 【HarmonyOS】【ArkTS】如何使用HTTP网络请求获取动态数据刷新UI界面
    【关键字】HttpRequest、ArkTS、网络数据请求、@ohos.net.http【前言】在使用ArkTS开发HarmonyOS应用时,需要调用HTTP网络请求 @ohos.net.http 动态获取数据,进行UI列表刷新,这想必是应用开发最常见的功能。但是根据官网网络请求的示例代码进行功能开发时,封装方法进行HTTP请求后,返回......
  • 【HarmonyOS】【ArkTS】如何使用HTTP网络请求获取动态数据刷新UI界面
    ​【关键字】HttpRequest、ArkTS、网络数据请求、@ohos.net.http 【前言】在使用ArkTS开发HarmonyOS应用时,需要调用HTTP网络请求 @ohos.net.http 动态获取数据,进行UI列表刷新,这想必是应用开发最常见的功能。但是根据官网网络请求的示例代码进行功能开发时,封装方法进行HTTP......
  • vue常见自定义指令
    常见自定义指令一、响应缩放指令使用<divv-resize="resize"></div>代码/***响应缩放指令*@direction使用该指令可以响应元素宽高改变时执行的方法。*@resize{function}传入对应resize方法*v-resize="resize"**/exportdefault{bind(el,bi......
  • elementUI下拉框图片
    1、定义数据optionsisAgent:[ //事项咨询群众标识        {          id:'1630396469564334081',          name:'高危',          url:require('@/assets/err.png')     ......
  • vue3使用知识点笔记大全
    vue3使用知识点笔记大全 一、vue3项目搭建[email protected] 使用elementplusui框架npmi-Selementplus//全部引入importElementPlusfrom'element-plus';import'element-plus/dist/index.css';constV......
  • GEE引擎传奇UI界面修改教程
    我记得我之前给大家分享了gom引擎UI界面编辑教程,今天给大家分享一下gee引擎UI界面修改教程首先打开登录器生成器-客户端界面设置在客户端界面设置这里可以自定义UI素材,也可以直接在原素材上编辑主界面传奇根目录指向的是你的传奇客户端根目录,如果是要自定义素材,将素材放入补丁文件......