vue分页功能[通俗易懂]

vue分页功能[通俗易懂]分页分页、查询、重置、修改、删除分页、查询、重置、修改、删除vue中的分页使用频繁,在此记录一下。因为分页一般和增删查改等一起使用,所以写了一套。若是没有使用到其他功能,可以直接删除,只使用分页功能。pagination:{total:0,current:1,pageSize:10,//每页中显示10条数据pageSizeOptions:[“10″,”20″,”30”],//每页中显示的数据


Jetbrains全系列IDE稳定放心使用

分页、查询、重置、修改、删除

vue中的分页使用频繁,在此记录一下。因为分页一般和增删查改等一起使用,所以写了一套。若是没有使用到其他功能,可以直接删除,只使用分页功能。

   pagination: { 
   
        total: 0,
        current: 1,
        pageSize: 10, //每页中显示10条数据
        pageSizeOptions: ["10", "20", "30"], // 每页中显示的数据
        showTotal: (total) => `共有${ 
     total}条数据`, //分页中显示总的数据
        showSizeChanger: true, // 显示页面条数改变
        showQuickJumper: true, // 显示快速跳转
      },
  queryParam: { 
   
        //查询参数
        page: 1, //第几页
        size: 10, //每页中显示数据的条数
        hosName: "",
        hosCode: "",
        province: "",
        city: "",
      },
// ---------- 分页函数 -------------
    handleTableChange(pagination) { 
   
      this.pagination.current = pagination.current;
      this.pagination.pageSize = pagination.pageSize;
      this.queryParam.page = pagination.current;
      this.queryParam.size = pagination.pageSize;

      this.Search();
    }, 
// 1. 获取列表函数,该函数的作用是获取页面上显示的表格
 // 获取列表设置默认参数:分页为 1 的参数
    getList(queryPath = "?pageNo=1") { 
   
      this.dataSource = []; // 重置 table 的 dataSource 数据
      BZGLHttp.getFangfa(queryPath).then((res) => { 
   
        // console.log("res列表:::", res);
        // 设置分页
        const pagination = { 
    ...this.pagination };
        pagination.total = res.result.total;
        pagination.pageSize = res.result.size;
        this.pagination = pagination;
        // 渲染数据,把接收的数据渲染到table中
        
        for (let i = 0; i < res.result.records.length; i++) { 
   
          let data = { 
   
            key: (res.result.current - 1) * res.result.size + i + 1,
            day: res.result.records[i].day,
            id: res.result.records[i].id,
            remark: res.result.records[i].remark,
            storageQuantity: res.result.records[i].storageQuantity,
            transferOutQuantity: res.result.records[i].transferOutQuantity,
            lossQuantity: res.result.records[i].lossQuantity,
            lossRate: res.result.records[i].lossRate,
            source: res.result.records[i].source,
            source_dictText: res.result.records[i].source_dictText,
            grade: res.result.records[i].grade,
            grade_dictText: res.result.records[i].grade_dictText,
            operation: res.result.records[i].operation,
            operation_dictText: res.result.records[i].operation_dictText,
            otherTrainerId: res.result.records[i].otherTrainerId,
            otherTrainerId_dictText:
              res.result.records[i].otherTrainerId_dictText,
          };
          this.dataSource.push(data);
        }
      });
    },
        
 // 2. 获取查询条件 函数,该函数会返回当前的查询条件, 搜索栏查询条件 + 分页的页码
    getQueryPath() { 
   
      let queryPath =
        "?pageNo=" +
        this.queryParam.page +
        "&day=" +
        this.startTime +
        "&day=" +
        this.endTime +
        "&operation=" +
        this.form.operation;
      return queryPath; // 返回的查询条件
    },
 // 3. 重置当前页码及页码参数
    resetPagination() { 
   
      this.pagination = { 
   
        total: 0,
        current: 1,
        pageSize: 10, //每页中显示10条数据
        showSizeChanger: true,
        pageSizeOptions: ["10"], //每页中显示的数据
        showTotal: (total) => `共有${ 
     total}条数据`, //分页中显示总的数据
      };
      //查询参数
      this.queryParam = { 
   
        page: 1, //第几页
        size: 10, //每页中显示数据的条数
        hosName: "",
        hosCode: "",
        province: "",
        city: "",
      };
    },
  // 4、查询按钮触发函数——单独写,目的是在页码不为1时,点击查询,页码自动归1
    getsearch1() { 
   
      this.resetPagination(); //重置页码和参数
      //重置按钮触发函数
      // this.resetForm();
      // 获取目前选择好的查询条件
      let queryPath = this.getQueryPath();
      this.getList(queryPath);
      // this.resetPagination(); // 查询完后 需要重置页码和参数
    },
 // 5. 供分页调用的查询函数
    Search() { 
   
      // 获取目前选择好的查询条件
      let queryPath = this.getQueryPath();
      // console.log("当前的查询路径为:::",queryPath);
      this.getList(queryPath);
      //this.resetPagination(); // 查询完后 需要重置页码和参数
    },
 // 6. 重置按钮触发函数
    resetForm() { 
   
      // 重置查询表单,动态刷新列表
      this.form = { 
   
        day: null, //日期
        operation: "", //操作单选按钮
      };
      this.resetPagination(); //需要重置页码和参数
      // 重新调用获取列表函数,默认参数获取列表
      this.getList();
    }, 
  // 7. 修改提交
    handleOk() { 
   
      // console.log("要更新的数据::::::", this.updateForm);
      BZGLHttp.updateJianGenPaiShiInfo(this.updateForm).then((res) => { 
   
        console.log(res);
        if (res.code == 200) { 
   
          this.$message.success("修改成功");
        }
      });
      // 获取当前的查询路径重新进行查询,刷新列表
      let queryPath = this.getQueryPath();
      this.getList(queryPath);
      this.updatevisible = false;
    },
  // 8. 删除按钮 
    workdelete(Id) { 
   
      // console.log("要删除的该记录的id:::",Id);
      BZGLHttp.deleteJianGenPaiShiInfo("?id=" + Id).then((res) => { 
   
        if (res.code == 200) { 
   
          this.$message.success("删除成功");
          this.dataSource = [];
          let queryPath = this.getQueryPath();
          this.getList(queryPath);
        }
      });
    }, 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187006.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • android之interpolator的用法详解

    android:interpolator    Interpolator 被用来修饰动画效果,定义动画的变化率,可以使存在的动画效果accelerated(加速),decelerated(减速),repeated(重复),bounced(弹跳)等。  android中的文档内容如下:   AccelerateDecelerateInterpolator 在动画开始与介绍的地

    2022年3月10日
  • jmeter正则表达式提取器怎么使用_jmeter的正则表达式

    jmeter正则表达式提取器怎么使用_jmeter的正则表达式转载:https://www.cnblogs.com/du-hong/p/13217399.html允许用户使用正则表达式从服务器响应中提取值。作为后处理器,此元素将在其范围内的每个Sample请求之后执行,应用正则表达式,提取请求的值,生成模板字符串,并将结果存储到给定的变量名称中。1、我们先来看看这个正则表达式提取器长得是啥样子,路径:线程组>添加>后置处理器>正则表达式提取器,如下图所示:2、关键参数说明如下:Name:名称,可以随意设置,甚至为空;Comme

    2022年9月10日
  • PKI 体系概述_计算机学科体系概述

    PKI 体系概述_计算机学科体系概述CA中心——CA系统——数字证书CA中心管理并运营CA系统,CA系统负责颁发数字证书。专门负责颁发数字证书的系统称为CA系统,负责管理并运营CA系统的机构称为CA中心。所有与数字证书相关的各种概念和技术,统称为PKI(PublicKeyInfrastructure)。传统密码学换位加密法; 替换加密法;现代密码学加密基元加密基元就是一些基础的密码学算法,通过它们才能够构建更多的密码学算法、协议、应用程序。说明:散列函数(散列(hash)、指纹.

    2022年8月22日
  • 安防监控系统的几个基础小知识

    安防监控系统的几个基础小知识  问题一:摄像机装多高?  我在和客户沟通的时,很多时候都建议客户室内不低于2.5米,室外不低于3.5米,这些数字虽然简单但考虑到了室内的高度及镜头下压的角度,也考虑到了室外安装时照射的长度及防人为破坏的因素。  问题二:支架安装有何建议?  在装摄像机的时候都会有壁装和吊装两种选择,超市等室内环境吊装比较多,室外一般选择壁装。一般轻巧些的机器比如中维世纪的JVS-N81-HY用04、05…

    2022年6月28日
  • pycharm 2021.5.2激活码【在线注册码/序列号/破解码】[通俗易懂]

    pycharm 2021.5.2激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
  • Stream流和Lambda表达式遍历HashMap

    Stream流和Lambda表达式遍历HashMap

    2021年7月13日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号