ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Element-ui(el-table、el-pagination)实现表格分页

2022-03-10 10:03:11  阅读:168  来源: 互联网

标签:function el pagination res Element currentPage total data


  • HTML代码:(重点关注el-table中:data数据的绑定)

    el-pagination中:

    layout代表组件布局,子组件名用逗号分隔 
    属性: total代表总条目数 
    事件: current-change用于监听页数改变,而内容也发生改变

    <template>
      <div>
        <el-table
          ref="multipleTable"
          :data="tableData.slice((currentPage-1)*pagesize,currentPage*pagesize)"
          tooltip-effect="dark"
          style=" 100%"
          @selection-change="handleSelectionChange">
          <el-table-column
            type="selection"
            width="55">
          </el-table-column>
          <el-table-column
            prop="name"
            label="姓名"
            width="120">
          </el-table-column>
          <el-table-column
            prop="age"
            label="年龄"
            width="120">
          </el-table-column>
          <el-table-column
            prop="sex"
            label="性别"
            width="120">
          </el-table-column>
          <el-table-column
            prop="department"
            label="部门"
            width="150">
          </el-table-column>
          <el-table-column
            prop="floor"
            label="楼层"
            width="120">
          </el-table-column>
          <el-table-column
            prop="area"
            label="区域"
            width="120">
          </el-table-column>
          <el-table-column label="操作">
            <template slot-scope="scope">
              <el-button
                size="mini"
                @click="handleEdit(scope.$index, scope.row)">修改
              </el-button>
              <el-button
                size="mini"
                type="danger"
                @click="handleDelete(scope.$index, scope.row)">删除
              </el-button>
            </template>
          </el-table-column>
        </el-table>
        <div style="text-align: center;margin-top: 30px;">
          <el-pagination
            background
            layout="prev, pager, next"
            :total="total"
            @current-change="current_change">
          </el-pagination>
        </div>
      </div>
    </template>

    js代码:(addUser函数中请求的是用express搭建的服务器,tableData存放返回的json数据)

    export default {
        name: "dataList",
        data() {
          return {
            tableData: [],
            multipleSelection: [],
            total: 0,
            pagesize:10,
            currentPage:1
          }
        },
        methods: {
          addUser() {
            this.$http({
              method: 'GET',
              url: 'http://127.0.0.1:8080/api/users',
            }).then(res => {
              console.log(res);
              if (!res.data.errno) {
                this.tableData = res.data.data.users;
                this.total= res.data.totalnum;
              }
            })
              .catch(function (error) {
                console.log(error);
              });
          },
    
          current_change:function(currentPage){
            this.currentPage = currentPage;
          },
        mounted: function () {
        this.addUser();
        }
    }

     最终效果:

标签:function,el,pagination,res,Element,currentPage,total,data
来源: https://www.cnblogs.com/superstar/p/15988167.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有