当前位置: 首页 > news >正文

elementUI 表格滚动分页加载请求数据

需求:elementui Table表格滚动分页(不使用分页组件),请求数据。

1、自定义加载更多数据的指令,在utils文件夹中创建 loadMore.js

/*** 加载更多数据的指令*/
export default {install(Vue) {Vue.mixin({directives: {loadmore: {bind(el, binding) {let bindTime = nullclearTimeout(bindTime)// eslint-disable-next-line space-before-function-parenbindTime = window.setTimeout(function () {var selectWrap = el.querySelector('.el-table__body-wrapper')selectWrap.addEventListener('scroll',// eslint-disable-next-line space-before-function-parenfunction () {if (this.scrollTop == 0) {binding.value('up', this)return false}if (this.clientHeight + this.scrollTop + 1 >= this.scrollHeight) {binding.value('down', this)}},false)}, 200)}}}})}
}

2、在main.js中添加以下代码

import loadMore from './utils/loadMore';
Vue.use(loadMore);

3、组件中使用

// 该处涉及项目,其他属性参考elementui文档 v-loadMore即自定义指令
<template><el-table :loading="isLoading" v-loadmore="getData"></el-table>
</template>data() {return {isLoading:false,pageSize: 30,pageNum: 1,total: 0,tableData: []}
}methods: {// 请求数据async getData(a) {this.pageNum += 1if (a === 'down') {this.isLoading = truevar params = {page: this.pageNum,pageSize: this.pageSize,// 其他参数...}var res = await getDataApi(params)this.isLoading = falseif (res) {this.total = res.panelData.totalif (this.total >= this.tableData.length) {this.tableData = this.tableData.concat(res.panelData.records)}}}}}
http://www.lryc.cn/news/99016.html

相关文章:

  • JAVA面试总结-Redis篇章(五)——持久化
  • 【数据结构】·顺序表函数实现·赶紧学起来呀
  • C++,类和对象-多态,制作饮品
  • 网站分析:学习如何分析目标网站的页面结构和URL规律,确定爬取目标和策略。
  • 《向量数据库指南》:向量数据库Pinecone如何集成数据湖
  • Vue3中使用pinia
  • Mysql中(@i:=@i+1)的介绍
  • Nexperia和KYOCERA AVX Components Salzburg 就车规氮化镓功率模块达成合作
  • 数据库应用:Redis安装部署
  • 7.Docker-compose
  • 多线程:管程法
  • 7.1 String StringBuffer 和 StringBuilder 的区别是什么? String 为什么是不可变的?
  • 【C++STL标准库】容器适配器
  • 2023深圳杯(东三省)数学建模ABC题思路及代码
  • Set集合类详解(附加思维导图)
  • 【vue3】vue3接收props以及emit的用法
  • 【Lua学习笔记】Lua入门
  • LLM Data Pipelines: 解析大语言模型训练数据集处理的复杂流程
  • 如何使用postman判断返回结果是否正确
  • A General framework for Prompt
  • 使用python将PDF转word
  • CMU 15-445 -- Logging Schemes - 17
  • 逻辑回归分析实战(根据鸢尾花的性质预测鸢尾花类别)
  • 【每日一题】2050. 并行课程 III
  • 【kubernetes系列】kubernetes之使用kubeadm搭建高可用集群
  • SpringBoot 快速实现 IP 地址解析
  • 【云原生】Docker镜像的创建,Dockerfile
  • 了解Unity编辑器之组件篇Event(七)
  • bash: 睡觉的冒号;是不是两个点?
  • 揭秘爱数AnyShare认知助手:大模型深度产品化,深化人与机器的“分工协作”