sunny123456

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  1796 随笔 :: 22 文章 :: 24 评论 :: 226万 阅读
< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

Element-UI 项目中 Pagination 分页如何使用

先看效果:

应用场景:

        一般分页功能多用于一些数据量较大的信息展示页面,通过分页可以设置每页的显示数量。多用于和 el-table 结合使用!

属性

参数说明类型可选值默认值
small是否使用小型分页样式booleanfalse
background是否为分页按钮添加背景色booleanfalse
page-size每页显示条目个数,支持 .sync 修饰符number10
total总条目数number
page-count总页数,total 和 page-count 设置任意一个就可以达到显示页码的功能;如果要支持 page-sizes 的更改,则需要使用 total 属性Number
pager-count页码按钮的数量,当总页数超过该值时会折叠number大于等于 5 且小于等于 21 的奇数7
current-page当前页数,支持 .sync 修饰符number1
layout组件布局,子组件名用逗号分隔Stringsizesprevpagernextjumper->totalslot'prev, pager, next, jumper, ->, total'
page-sizes每页显示个数选择器的选项设置number[][10, 20, 30, 40, 50, 100]
popper-class每页显示个数选择器的下拉框类名string
prev-text替代图标显示的上一页文字string
next-text替代图标显示的下一页文字string
disabled是否禁用booleanfalse
hide-on-single-page只有一页时是否隐藏boolean-

事件

事件名称说明回调参数
size-changepageSize 改变时会触发每页条数
current-changecurrentPage 改变时会触发当前页
prev-click用户点击上一页按钮改变当前页后触发当前页
next-click用户点击下一页按钮改变当前页后触发当前页

Slot

name说明
自定义内容,需要在 layout 中列出 slot

代码:

      <!-- 表格 -->
      <div class="datas">
        <el-table
          ref="multipleTable"
          :data="tableData"
          tooltip-effect="dark"
          style="width: 100%"
          @selection-change="handleSelectionChange"
        >
          <el-table-column type="selection" width="55"></el-table-column>
          <el-table-column type="index" :index="indexMethod" label="序号"></el-table-column>
          <el-table-column prop="sysPersonName" label="姓名"></el-table-column>
          <el-table-column prop="sysPersonSex" label="性别"></el-table-column>
          <el-table-column prop="sysPersonPhone" label="手机号"></el-table-column>
          <el-table-column prop="sysPersonId" label="编号"></el-table-column>
          <el-table-column prop="sysIfAttendance" label="是否考勤"></el-table-column>
          <el-table-column prop="organizationInfo.sysOrganizationName" label="所属组织"></el-table-column>
          <el-table-column prop="sysRemark" label="备注"></el-table-column>
          <el-table-column fixed="right" label="操作" width="100">
            <template slot-scope="scope">
              <el-button
                @click="handleClick(scope.row)"
                type="text"
                size="small"
                >消息</el-button
              >
              <el-button @click="godetails(scope.row)" type="text" size="small"
                >详情</el-button
              >
            </template>
          </el-table-column>
        </el-table>
      </div>
    </div>
    <!-- 分页 -->
    <div class="block">
       <el-pagination
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page="person.page" 
        :page-sizes="[10]"
        :page-size = 10
        layout="total, sizes, prev, pager, next, jumper"
        :total="totalCount"
      ></el-pagination>
    </div>
<script>
export default {
  data() {
    return {
      tableData: [],
      // 分页
      totalCount: 0, //总条数,总共有多少条数据
      radio: "1",
      // 人员列表数据
      person: {
        limit: 0,
        options: {
        },
        page: 0,
      },
      value: "",
      sendMessagePopups: false,
      form: {
        name: "",
        messageContent: "",
      },
      pages: 0,
      multipleSelection: [],
      messageFrom:{
        messageName: '',
        messageContent:'',
      },
      messageName: ''
    };
  },
  created() {
    this.personTableList();
  },
  methods: {
    // 人员列表
    personTableList() {
      this.person.limit = 10
      this.$http.put("/api/list/person", this.person).then((res) => {
        if (res.data.status === 200) {
          console.log(res.data.data)
          this.pages = res.data.data
          this.tableData = res.data.data.data;
          for (let i = 0; i < this.tableData.length; i++) {
            if (this.tableData[i].sysPersonSex == 1) {
              this.tableData[i].sysPersonSex = "男";
            } else {
              this.tableData[i].sysPersonSex = "女";
            }
            if (this.tableData[i].sysIfAttendance == 1) {
              this.tableData[i].sysIfAttendance = "是";
            } else {
              this.tableData[i].sysIfAttendance = "否";
            }
          }
          this.totalCount = res.data.data.count;
          console.log(this.tableData);
        } else {
          this.$message.error(res.data.message);
          return;
        }
      });
    },
    // 分页
    handleCurrentChange(newPage) {
      this.person.page = newPage
      this.personTableList()
    },
    handleSizeChange(val) {
      this.person.limit = val
      this.personTableList()
    },
    // 表格数据索引累加
    indexMethod(index){
      return(this.pages.page-1) * 10 + index + 1
    },
    
 
  },
 
  
};
</script>

 

https://blog.csdn.net/helloword176/article/details/108973446
posted on   sunny123456  阅读(1356)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-04-21 eclipse不能自动编译生成class文件的解决办法
2021-04-21 c#中如何处理多个数据库事务同时提交 同时回滚
2021-04-21 事务提交 commit 会失败么_事务的四大特性ACID
2021-04-21 Delegate(委托与事件)
2021-04-21 eclipse2020-06创建属于自己的JSP模板(图文)
2021-04-21 eclipse没有新建web项目的解决问题
2021-04-21 Eclipse中Jsp文件出现:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
点击右上角即可分享
微信分享提示