• ElementUI 项目中 Pagination 分页如何使用


    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

    代码:

    1. <!-- 表格 -->
    2. <div class="datas">
    3. <el-table
    4. ref="multipleTable"
    5. :data="tableData"
    6. tooltip-effect="dark"
    7. style=" 100%"
    8. @selection-change="handleSelectionChange"
    9. >
    10. <el-table-column type="selection" width="55"></el-table-column>
    11. <el-table-column type="index" :index="indexMethod" label="序号"></el-table-column>
    12. <el-table-column prop="sysPersonName" label="姓名"></el-table-column>
    13. <el-table-column prop="sysPersonSex" label="性别"></el-table-column>
    14. <el-table-column prop="sysPersonPhone" label="手机号"></el-table-column>
    15. <el-table-column prop="sysPersonId" label="编号"></el-table-column>
    16. <el-table-column prop="sysIfAttendance" label="是否考勤"></el-table-column>
    17. <el-table-column prop="organizationInfo.sysOrganizationName" label="所属组织"></el-table-column>
    18. <el-table-column prop="sysRemark" label="备注"></el-table-column>
    19. <el-table-column fixed="right" label="操作" width="100">
    20. <template slot-scope="scope">
    21. <el-button
    22. @click="handleClick(scope.row)"
    23. type="text"
    24. size="small"
    25. >消息</el-button
    26. >
    27. <el-button @click="godetails(scope.row)" type="text" size="small"
    28. >详情</el-button
    29. >
    30. </template>
    31. </el-table-column>
    32. </el-table>
    33. </div>
    34. </div>
    35. <!-- 分页 -->
    36. <div class="block">
    37. <el-pagination
    38. @size-change="handleSizeChange"
    39. @current-change="handleCurrentChange"
    40. :current-page="person.page"
    41. :page-sizes="[10]"
    42. :page-size = 10
    43. layout="total, sizes, prev, pager, next, jumper"
    44. :total="totalCount"
    45. ></el-pagination>
    46. </div>
    1. <script>
    2. export default {
    3. data() {
    4. return {
    5. tableData: [],
    6. // 分页
    7. totalCount: 0, //总条数,总共有多少条数据
    8. radio: "1",
    9. // 人员列表数据
    10. person: {
    11. limit: 0,
    12. options: {
    13. },
    14. page: 0,
    15. },
    16. value: "",
    17. sendMessagePopups: false,
    18. form: {
    19. name: "",
    20. messageContent: "",
    21. },
    22. pages: 0,
    23. multipleSelection: [],
    24. messageFrom:{
    25. messageName: '',
    26. messageContent:'',
    27. },
    28. messageName: ''
    29. };
    30. },
    31. created() {
    32. this.personTableList();
    33. },
    34. methods: {
    35. // 人员列表
    36. personTableList() {
    37. this.person.limit = 10
    38. this.$http.put("/api/list/person", this.person).then((res) => {
    39. if (res.data.status === 200) {
    40. console.log(res.data.data)
    41. this.pages = res.data.data
    42. this.tableData = res.data.data.data;
    43. for (let i = 0; i < this.tableData.length; i++) {
    44. if (this.tableData[i].sysPersonSex == 1) {
    45. this.tableData[i].sysPersonSex = "男";
    46. } else {
    47. this.tableData[i].sysPersonSex = "女";
    48. }
    49. if (this.tableData[i].sysIfAttendance == 1) {
    50. this.tableData[i].sysIfAttendance = "是";
    51. } else {
    52. this.tableData[i].sysIfAttendance = "否";
    53. }
    54. }
    55. this.totalCount = res.data.data.count;
    56. console.log(this.tableData);
    57. } else {
    58. this.$message.error(res.data.message);
    59. return;
    60. }
    61. });
    62. },
    63. // 分页
    64. handleCurrentChange(newPage) {
    65. this.person.page = newPage
    66. this.personTableList()
    67. },
    68. handleSizeChange(val) {
    69. this.person.limit = val
    70. this.personTableList()
    71. },
    72. // 表格数据索引累加
    73. indexMethod(index){
    74. return(this.pages.page-1) * 10 + index + 1
    75. },
    76. },
    77. };
    78. </script>
    https://blog.csdn.net/helloword176/article/details/108973446
  • 相关阅读:
    Kafka usecase
    kafka 的quick start(windows平台)
    kafka介绍
    问题记录 为ubuntu16.04添加windows字体(解决JIRA图表乱码的问题)
    问题记录,如何解决confluence的office预览的时候的乱码问题
    为gitlab10.x增加使用remote_user HTTP头的方式登录
    基于spring-cloud的微服务(4)API网关zuul
    基于spring-cloud的微服务(3)eureka的客户端如何使用IP地址来进行注册
    基于spring-cloud的微服务(2) eureka服务提供方的注册和消费方的消费
    WebView 上传文件 WebChromeClient之openFileChooser函数
  • 原文地址:https://www.cnblogs.com/sunny3158/p/16176613.html
Copyright © 2020-2023  润新知