vue项目使用el-table实现无限滚动
https://blog.csdn.net/weixin_44994731/article/details/107980827

1.安装el-table-infinite-scroll
yarn add el-table-infinite-scroll
2.main.js中引入

3.在页面中使用
html代码:
1 <el-table v-loading="loading" v-el-table-infinite-scroll="loadData" infinite-scroll-disabled="disabled"
2 class="ave-table before-casting-table" border :data="tableData" style="width: 100%" height="500">
3 <el-table-column label="序号" type="index" width="50"></el-table-column>
4 <el-table-column prop="companyName" label="公司名称" width="360">
5 <template slot-scope="scope">
6 <img src="@/assets/images/oval.png" alt="" class="company-img">
7 <el-link @click="openDetail(scope.row.companyId)" type="primary">{{ scope.row.companyName }}</el-link>
8 </template>
9 </el-table-column>
10 <el-table-column prop="industryField" label="行业领域"></el-table-column>
11 <el-table-column prop="chargePerson" label="负责人"></el-table-column>
12 <el-table-column prop="projectSource" label="项目来源"></el-table-column>
13 <el-table-column prop="financingAmount" label="融资金额">
14 </el-table-column>
15 <el-table-column label="操作">
16 <template slot-scope="scope">
17 <el-link @click="deleteItem(scope.row)" type="primary">删除</el-link>
18 </template>
19 </el-table-column>
20 </el-table>
js代码:
1 data () {
2 return {
3 searchForm: {
4 projectName: '',
5 dateRange: ''
6 },
7 pickerOptions: {
8 shortcuts: [{
9 text: '最近一周',
10 onClick (picker) {
11 const end = new Date()
12 const start = new Date()
13 start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
14 picker.$emit('pick', [start, end])
15 }
16 }, {
17 text: '最近一个月',
18 onClick (picker) {
19 const end = new Date()
20 const start = new Date()
21 start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
22 picker.$emit('pick', [start, end])
23 }
24 }, {
25 text: '最近三个月',
26 onClick (picker) {
27 const end = new Date()
28 const start = new Date()
29 start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
30 picker.$emit('pick', [start, end])
31 }
32 }]
33 },
34 choosedTabList: [],
35 visitRecordFlag: { value: false },
36
37 tableData: [],
38
39 beforeCastCode: {},
40 beforeCastCodeList: {
41 industry_field: [],
42 project_phase: [],
43 project_manager: []
44 },
45 tabListSelected: [], // 被选中的字典值
46
47 pageIndex: 0,
48 pageSize: 10,
49 loading: true,
50 disabled: false
51 }
52 },
1 // 投前列表接口
2 async getbeforeCastList () {
3 this.disabled = true
4 this.pageIndex++
5 const industryFielded = []
6 const projectPhased = []
7 const projectManagered = []
8 this.beforeCastCodeList.industry_field.map(item => {
9 if (item.selected) {
10 industryFielded.push(item.itemValue)
11 }
12 })
13 this.beforeCastCodeList.project_phase.map(item => {
14 if (item.selected) {
15 projectPhased.push(item.itemValue)
16 }
17 })
18 this.beforeCastCodeList.project_manager.map(item => {
19 if (item.selected) {
20 projectManagered.push(item.itemValue)
21 }
22 })
23 const { data } = await this.$http.post('/project/getProjectList', {
24 queryPage: {
25 currentPage: this.pageIndex,
26 pageSize: this.pageSize
27 },
28 industryFielded: industryFielded || [],
29 projectPhased: projectPhased || [],
30 projectManagered: projectManagered || []
31
32 })
33 const { pageResult, success, code } = data
34 if (success !== true || code !== 200) {
35 return false
36 } else {
37 this.disabled = false
38 this.loading = false
39 if (!pageResult.data || pageResult.data.length < this.pageSize) {
40 this.disabled = true
41 }
42 if (this.pageIndex === 1) {
43 this.tableData = pageResult.data
44 } else {
45 this.tableData = this.tableData.concat(pageResult.data)
46 }
47 }
48 },
49 loadData () {
50 this.getbeforeCastList()
51 },
vue项目使用el-table实现无限滚动的更多相关文章
- vue element ui table 自动无限滚动组件
<template> <el-table class="tableList" ref="rw_table" hei ...
- vue 无限滚动问题
如今web开发中,无限加载是必需的一项功能,尤其是在移动端开发中,一个列表往往默认只加载10条,想看更多只能逐渐往下翻页.那么今天就看看如何在Vue-Cli中实现这个功能. 当前找到两个插件 1 el ...
- 一个超详细vue无限滚动vue-infinite-scroll插件的配置及使用详解
开发中总会遇到这种下拉加载的设计方案,Vue实现下拉加载最佳方案自然是使用vue-infinite-scroll来实现.接下来我们一起看下它的配置及使用方式. 首先我们先了解下他的配置参数: v-in ...
- v-infinite-scroll无限滚动
v-infinite-scroll="loadMore"表示回调函数是loadMore infinite-scroll-disabled="busy"表示由变量 ...
- 基于 Vue.js 的移动端组件库mint-ui实现无限滚动加载更多
通过多次爬坑,发现了这些监听滚动来加载更多的组件的共同点, 因为这些加载更多的方法是绑定在需要加载更多的内容的元素上的, 所以是进入页面则直接触发一次,当监听到滚动事件之后,继续加载更多, 所以对于无 ...
- Vue组件封装之无限滚动列表
无限滚动列表:分为单步滚动和循环滚动两种方式 <template> <div class="box" :style="{width:widthX,hei ...
- python 全栈开发,Day58(bootstrap组件,bootstrap JavaScript 插件,后台模板,图表插件,jQuery插件库,Animate.css,swiper,运行vue项目)
一.bootstrap组件 无数可复用的组件,包括字体图标.下拉菜单.导航.警告框.弹出框等更多功能. 组件和插件的区别? 插件:一个功能,比如js文件 组件:html css js 组件包含插件 面 ...
- vue项目中遇到的一些问题
或访问:https://github.com/littleHiuman/experiences-about-vue 欢迎补充! vuex 状态 vue-cli 命令行 vue vue vue-rou ...
- Vue项目经验
Vue项目经验 setInterval路由跳转继续运行并没有及时进行销毁比如一些弹幕,走马灯文字,这类需要定时调用的,路由跳转之后,因为组件已经销毁了,但是setInterval还没有销毁,还在继续后 ...
- vue2.0无限滚动加载数据插件
做vue项目用到下拉滚动加载数据功能,由于选的UI库(element)没有这个组件,就用Vue-infinite-loading 这个插件代替,使用中遇到的一些问题及使用方法,总结作记录! 安装: ...
随机推荐
- SpringBoot实现Flyway的Callback回调钩子
背景 产品迭代使用CI/CD升级过程中,需要对不同发布环境的不同产品版本进行数据库迭代升级,我们在中间某次产品迭代时加入了Flyway中间件以实现数据库结构的自动化升级. 需求 由于是迭代过程中加入的 ...
- STL常用函数
STL简介 \(STL\)是\(Standard\) \(Template\) \(Library\)的简称,中文名称为标准模板库,从根本上讲, 就是各种\(STL\)容器的集合,容器可以理解为能够实 ...
- SpringCore完整学习教程4,入门级别
本章从第4章开始 4. Logging Spring Boot使用Commons Logging进行所有内部日志记录,但保留底层日志实现开放.为Java Util Logging.Log4J2和Log ...
- 安卓之各种Adapter优劣分析
文章摘要 在 Android 开发中,适配器(Adapter)是一种非常重要的设计模式,它用于将数据与视图组件进行绑定.适配器可以帮助我们在不同的视图组件(如 ListView.GridView.Re ...
- 一款基于.NET Core的快速开发框架、支持多种前端UI、内置代码生成器
前言 经常看到有小伙伴在技术群里问有没有什么好用且快速的开发框架推荐的,今天就给大家分享一款基于MIT License协议开源.免费的.NET Core快速开发框架.支持多种前端UI.内置代码生成器. ...
- 数字孪生结合GIS能给物流行业带来怎样的改变
随着科技的不断发展和创新,数字孪生技术和地理信息系统(GIS)正日益在各个行业中发挥重要作用.其中,物流行业作为一个复杂而庞大的系统,也能从数字孪生和GIS的结合中获得许多益处和改变. 数字孪生是指通 ...
- python 图片相关
python 图片相关 本篇介绍两种方式来打开图片. 1: 使用matplotlib #!/usr/bin/python3 # -*- coding: UTF-8 -*- ""&q ...
- ElasticSearch之配置
ElasticSearch主要的配置文件,如下: elasticsearch.yml,ElasticSearch的相关参数. jvm.options,JVM的相关参数. log4j2.properti ...
- CentOS基线检测脚本
本脚本适用于CentOS 7.5-7.9版本,其他版本不详 1.检查系统信息 查看代码 echo " " echo "########################## ...
- Python用辗转相除法计算两数的最大公约数和最小公倍数
计算最大公约数运用辗转相除法就行了 计算最小公倍数需要运用公式:最小公倍数=数字1*数字2/最大公约数 有关辗转相除法的知识请查看:辗转相除法 以下为代码: #计算最大公约数 def gys (x,y ...