当前位置: 首页 > article >正文

vue如何将获取到的数据进行分页

目录

使用vue实现分页

表单

分页模块

定义变量

定义返回给表单的数据

获取后端接口和有多少数据


使用vue实现分页

具体流程:首先我们获取后端接口数据,获取到的数据出存入tableData这个数组中,获取到的数据通过paginatedData这个方法,截取分页数据展示。然后我们使用element-ui提供的分页模块实现分页功能,可参考如下将定义的变量和分页模块中的数据绑定。

表单

<el-table :data="paginatedData" border height="750">

分页模块

<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" background
:current-page.sync="currentPage" :page-size="pageSize" layout="total,sizes, prev, pager, next, jumper"
:total="total">
  </el-pagination>

定义变量

tableData: [],
currentPage: 1,
  pageSize: 10,
  total: 0,

定义返回给表单的数据

  computed: {
    paginatedData() {
      const start = (this.currentPage - 1) * this.pageSize;
      const end = start + this.pageSize;
      return this.tableData.slice(start, end);
    },
  },

获取后端接口和有多少数据

    getList() {
      lsgetall().then(response => {
        //获取response.data是一个数组如何获取
        this.tableData = response.data;
        this.total = this.tableData.length
      })
    },

Demo

这个demo没有测试过,主要做参考(提供思路)

<template>
  <div>
    <div style="margin: 10px;">
      <el-table :data="paginatedData" border height="750">
        <el-table-column label="id" width="90">
          <template slot-scope="scope">
            {{ scope.$index +=1 }}
          </template>
        </el-table-column>
        <el-table-column prop="license_key" label="license_key" width="320">
        </el-table-column>
        <el-table-column prop="key_type" label="key_type" width="300">
        </el-table-column>
        <el-table-column prop="addcart_discord_webhook" label="加车链接" width="300">
        </el-table-column>
        <el-table-column prop="paysuccess_discord_webhook" label="成功链接" width="190">
        </el-table-column>
        <el-table-column prop="payfailed_discord_webhook" label="失败链接" width="300">
        </el-table-column>
        <el-table-column prop="hwid" label="机器码" width="300">
        </el-table-column>
      </el-table>
      <div class="center-container" style="margin-left: 30%;">
        <!-- 分页 -->
        <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" background
          :current-page.sync="currentPage" :page-size="pageSize" layout="total,sizes, prev, pager, next, jumper"
          :total="total">
        </el-pagination>
      </div>
    </div>
  </div>
</template>

<script>

import { lsgetall } from '@/api/table';

export default {
  data() {
    return {
      tableData: [],
      idDataRow: [],
      idDataRow1: [],
      input: '',
      //抽屉参数
      dialog: false,
      loading: false,
      //抽屉参数
      dialog1: false,
      loading1: false,

      currentPage: 1,
      pageSize: 10,
      total: 0,
    }
  },
  computed: {
    paginatedData() {
      const start = (this.currentPage - 1) * this.pageSize;
      const end = start + this.pageSize;
      return this.tableData.slice(start, end);
    },
  },

  methods: {

    },
    cancelForm() {
      this.loading = false;
      this.dialog = false;
      clearTimeout(this.timer);
    },


    getList() {
      lsgetall().then(response => {
        //获取response.data是一个数组如何获取
        this.tableData = response.data;
        this.total = this.tableData.length
      })

  },
  created() {
    this.getList();
  },

}
</script>

<style scoped>
.demo-drawer__content {
  margin: 20px;
}
</style>


http://www.kler.cn/a/555310.html

相关文章:

  • uniapp中引入Vant Weapp的保姆级教学(包含错误处理)
  • DarkLabel 2.4使用指南:高效标注视频数据目标检测标签
  • Jenkins上无法查看已成功生成的Junit报告
  • 人工智能与自闭症的研究现状及未来趋势
  • Git命令行入门
  • [NKU]C++理论课 cours 3 数据抽象(封装->隐藏实现的手段,隐藏->封装的重要目标)
  • 2025软件测试面试题大全(78题含答案解析)
  • VSCode 中使用 Snippets 设置常用代码块
  • 大厂算法面试常见问题总结:高频考点与备战指南
  • [数据结构] Map的使用与注意事项
  • Python 将PPT幻灯片和形状转换为多种图片格式(JPG, PNG, BMP, SVG, TIFF)
  • 《DeepSeek模型压缩:在高效与性能间寻平衡》
  • LLM(十五)| Kimi k1.5:解锁语言模型强化学习新高度
  • 2月17日c语言框架
  • 最新扣子(Coze)案例教程:全自动DeepSeek 写影评+批量生成 + 发布飞书,提效10 倍!手把手教学,完全免费教程
  • MySQL误删控制文件导致系统无法正常启动
  • 标量化rknn的输入输出向量转换处理
  • Go日期时间处理工具Carbon
  • 深入解析:在Spring Boot中集成MyBatis Plus实现高效数据库操作
  • 基于WebGIS技术的校园地图导航系统架构与核心功能设计