【易购管理系统】商品列表分页显示

在components文件夹中新建MyPagination.vue,在Element中找到与分页相关的组件

<el-pagination
  background
  layout="prev, pager, next"
  :total="1000" >
</el-pagination>

然后添加显示总条数和跳转多少页

<el-pagination
  background
  layout="total, prev, pager, next, jumper"
  :total="1000" :page-size="100">
</el-pagination>

也就是说我们要接收这个total和pageSize

  props: {
    total: {
      type: Number,
      default: 100,
    },
    pageSize: {
      type: Number,
      default: 10,
    },
    }
<el-pagination
    background
    layout="total,prev, pager, next,jumper"
    :total="total"
    :page-size="pageSize"
  >
  </el-pagination>

在商品界面导入这个分页组件

import MyPagination from "../../components/MyPagination.vue";
export default {
  components: {
    MyPagination,
  },
 data() {
    return {
      input: "",
      tableData: [],
      total: 10,
      pageSize: 1,
    };
  },
   created() {
    this.$api
      .getGoodsList({
        page: 1,
      })
      .then((res) => {
        console.log(res.data);
        // 状态码为200,代表成功获取数据
        if (res.data.status === 200) {
          this.tableData = res.data.data;
          this.total = res.data.total;
          this.pageSize = res.data.pageSize;
        }
      });
  },
 }

引用

<MyPagination :total="total" :pageSize="pageSize"></MyPagination>

最终的效果为:
在这里插入图片描述
接下来做一个点击效果:(点击第几页就跳到第几页)
在这里插入图片描述
在MyPagination.vue中增减点击效果

<template>
  <el-pagination
    background
    layout="total,prev, pager, next,jumper"
    :total="total"
    :page-size="pageSize"
    @current-change="changePage"
  >
  </el-pagination>
</template>

<script>
export default {
  props: {
    total: {
      type: Number,
      default: 100,
    },
    pageSize: {
      type: Number,
      default: 10,
    },
  },
  methods: {
    changePage(page) {
      this.$emit("changePage", page);
    },
  },
};
</script>

<style>
</style>

添加一个点击事件,将这个事件给到Goods中

 <MyPagination
      :total="total"
      :pageSize="pageSize"
      @changePage="changePage"
    ></MyPagination>

初始化一些数据,比如

 data() {
    return {
      input: "",
      tableData: [],
      total: 10,
      pageSize: 1,
    };
  },
 //  商品列表的获取
    http(page) {
      this.$api
        .getGoodsList({
          page,
        })
        .then((res) => {
          console.log(res.data);
          // 状态码为200,代表成功获取数据
          if (res.data.status === 200) {
            this.tableData = res.data.data; //数据列表
            this.total = res.data.total;
            this.pageSize = res.data.pageSize;
          }
        });
    },
 // 分页页码
    changePage(num) {
      this.http(num);
    },
created() {
    this.http(1);
  },

最终的结果为
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

纵有千堆雪与长街

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值