zoukankan      html  css  js  c++  java
  • elementUI实现分页效果+模糊搜索效果

    和大家分享一下小分页( elementUI )

    万里独行不一定万里无云,我往前走的时候那背影你看着当然孤伶

    有一点需要记住一下,就是定义一个新数组替换掉表格data绑定的值( 如果不替换分页数据不刷新 )

    效果

     搜索后的效果

     话不多说上代码

     结构

    <!-- 分页div -->
        <div class="pagingDive">
          <div class="block">
            <el-pagination
              background
              @size-change="handleSizeChange" //当前页
              @current-change="handleCurrentChange" // 每页条数
              :current-page.sync="page" //绑定当前页
              :page-size="limit" //一页显示多少条
              layout="total, prev, pager, next"
              :total="total" //绑定总条数
              @click.native="tablePagination()" //点击切换的事件
            ></el-pagination>
          </div>
        </div>
    <!-- 表格 -->
    <Table border :columns="columnsPrivate" :data="roleManagementList"> --->替换为 <Table border :columns="columnsPrivate" :data="Ary">
     

    绑定的值

    data(){
       return {
          
         // 分页 需要绑定的值
          limit: 8, //一页显示多少条
          page: 1, //当前页
          total: "16", //总条数,
          // 接受接口数据
          roleManagementList: [],
    //定义的新数组
    Ary : []
    } }

    methods事件

    //为什么要在搜索接口方法和显示数据的接口方法中重新调用分页的方法呢,如果不在查看接口调用数据需要点击后才能显示,搜索也是同理,还有就是数据显示了但是总条数需要点击后才能显示所以重新调用会解决这些问题//删除事件中一定要调下查看接口
    //
    查看接口 === 搜索接口 dim() { this.$ajax .post("/role/list", { name: this.selectVal }) .then(res => { this.roleManagementList = res.data.data;//后端数据 this.tablePagination(); console.log(this.roleManagementList, "模糊搜索================"); }); } // 查看接口 getList() { let val = { id: this.roleManagementList.id, name: this.roleManagementList.name, useStatus: this.roleManagementList.useStatus, page: this.roleManagementList.page, //告诉后端我要给你传两个参数后端也分页,然后给他传过去就好了 limit: this.roleManagementList.limit //传递的两个参数是 当前页和每页显示数量 }; this.$ajax.post("/role/list", val).then(res => { this.roleManagementList = res.data.data;//后端数据 console.log(this.roleManagementList); this.tablePagination(); }); } // 分页操作 handleCurrentChange(val) { //当前页 this.page = val; // alert(this.page); console.log(this.page, "8585945048215"); }, handleSizeChange: function(size) { //每页条数 this.limit = size; console.log(this.limit); //每页下拉显示数据 }, /** * 表格数据分页的方法 */ tablePagination() { let array = [], startNum = 0, endNum = 0; this.total = this.roleManagementList.length; startNum = (this.page - 1) * this.limit; if (this.page * this.limit < this.total) { endNum = this.page * this.limit; } else { endNum = this.total; } array = this.roleManagementList.slice(startNum, endNum); this.Ary= array;//给新数组赋值并替换绑定 这个时候的Ary就是表格中的所有数据 console.log(startNum, endNum, "总条数"); console.log(this.page); }, created() { // 执行查看接口 this.getList(); // 分页执行 this.tablePagination(); }

    监听

    在这里也要调用显示数据的方法
    watch: { total() {
    //注意这个函数的名字必须和你监听data中的属性的名字一样,这样才能当你data中的属性发生变化时,触发这个函数 if (this.total == (this.page - 1) * this.limit && this.total != 0) { //这一行是关键代码,倍数关系 this.page -= 1; this.getList(); //获取表格数据的方法 } } }

     css

      .pagingDive {
         100%;
        height: 140px;
        background: #fff;
        padding-left: 32px;
        padding-right: 32px;
        line-height: 140px;
        /deep/.el-pagination {
          display: flex;
          align-items: center;
          .el-pager,
          .el-pager li {
            vertical-align: middle;
          }
        }
      }
  • 相关阅读:
    201671010145 20162017 《Java程序设计》java的继承中什么叫方法覆盖,是如何实现的?
    201671010145 20162017《Java程序设计》Java接口的功能
    Java与C语言的区别
    201671010145 201620173《Java程序设计》Java中类与对象的区别
    Java 加密算法
    Java 基础
    Java 新建线程时使用线程池处理
    sublime text 3安装
    C语言的基本数据类型
    有点跑题的随笔
  • 原文地址:https://www.cnblogs.com/home-/p/11588935.html
Copyright © 2011-2022 走看看