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 这个插件代替,使用中遇到的一些问题及使用方法,总结作记录! 安装: ...
随机推荐
- 【工具推荐】LICEcap –GIF 屏幕录制工具
介绍: LICEcap 是一款简洁易用的动画屏幕录制软件,支持导出 GIF 动画图片格式,轻量级.高质量(每帧颜色数量可超过256).使用简单,录制过程中可以随意改变录屏范围. LICEcap 非常轻 ...
- SpringCore完整学习教程3,入门级别
从第三章开始 3. Profiles Spring profile提供了一种方法来隔离应用程序配置的各个部分,并使其仅在某些环境中可用.任何@Component.@Configuration或@Con ...
- [ICPC2014WF]Sensor Network
题目描述 A wireless sensor network consists of autonomous sensors scattered in an environment where they ...
- 一文搞定K8S监控告警平台选型
公众号「架构成长指南」,专注于生产实践.云原生.分布式系统.大数据技术分享 前言 最近在搞K8S的监控告警平台选型,对比了目前比较流行两款开源平台kube-prometheus.夜莺,也踩了一些坑分享 ...
- VA01/VA02/VA03 销售订单根据定价和步骤校验权限隐藏价格(二)
1.文档说明 1.1.内容回顾 之前发表过相关文章<VA01/VA02/VA03 销售订单根据定价和步骤校验权限隐藏价格>,本篇文章对上一篇文章做补充说明. 第一篇文章是通过拥有权限,则隐 ...
- Android WebView 缓存处理
加载html时,会在data/应用下生成database和cache两个文件夹:请求的url存在webviewcache.db下面,url的内容保存在webviewCache下面, Webview的两 ...
- wasm+pygbag让你在网页上也能运行Python代码:【贪吃蛇游戏】
引言 最近小伙伴告诉我一种新的方法,可以使用wasm来使浏览器网页能够运行Python代码.这一下子激起了我的兴趣,因为这意味着用户无需安装Python环境就能直接运行我的demo,这真是太方便了.所 ...
- sed 命令进阶
sed 是面向行处理的,但是有时可能希望针对多行作为一个单位进行处理,在 sed 中这也是可行的,本文将介绍如何使用 sed 来同时处理多行文本 理论基础 模式空间(Pattern Space):是一 ...
- Android 事件分发介绍
目录 一.目的 二.环境 三.相关概念 3.1 事件分发 四.详细设计 4.1应用布局 4.1.1 应用布局结构 4.1.2 LayoutInspector 4.2 关键View&方法 4.2 ...
- ChatGPT的中转站 oupuapi,不扶墙也能上楼
我们在建类似 chatgpt 聊天站点的时候,只需对服务器进行扶墙代理,便可实现访问. 那么我们只需要往深里想一下,不要让整个服务器去访问 VPN,而是基于 API 的代理,或者说 API 的中转站也 ...