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 这个插件代替,使用中遇到的一些问题及使用方法,总结作记录! 安装: ...
随机推荐
- Codeforces Round 906 (Div. 2)A-E1
A. Doremy's Paint 3 记数组中数的种类数为\(k\),当\(k=1\)时,答案为\(yes\):当\(k=2\)时,记两个种类的数的个数差为\(d\),当\(d≤1\)时,答案为\( ...
- [CF1830E] Bully Sort
题目描述 On a permutation $ p $ of length $ n $ , we define a bully swap as follows: Let $ i $ be the in ...
- [CF1599A] Weights
题目描述 You are given an array $ A $ of length $ N $ weights of masses $ A_1 $ , $ A_2 $ ... $ A_N $ . ...
- [ARC144E]GCD of Path Weights
Problem Statement You are given a directed graph $G$ with $N$ vertices and $M$ edges. The vertices a ...
- ClickHouse(18)ClickHouse集成ODBC表引擎详细解析
目录 创建表 用法示例 资料分享 参考文章 ODBC集成表引擎使得ClickHouse可以通过ODBC方式连接到外部数据库. 为了安全地实现 ODBC 连接,ClickHouse 使用了一个独立程序 ...
- 中企网安信息科技:数据防泄密DLP管理系统概述
由华企网安总公司北京中企网安信息科技有限责任公司开发的<数据防泄密DLP管理系统>,获得国家版权局颁发的计算机软件著作权登记证书. 数据防泄密DLP管理系统是用于保护.监控和管理敏感数据的 ...
- ElasticSearch之文件描述符的数量
ElasticSearch在运行过程中,涉及大量文件的打开.关闭.读.写等操作.因此当ElasticSearch进程的文件描述符数量不足时可能导致丢失数据等故障现象. 因此为保障ElasticSear ...
- Android移动、缩放和旋转手势实现
Android的部分图片编辑应用中需要对图片进行移动.缩放和旋转,这些变化都依赖于触摸手势实现,而本文主要阐述移动.缩放和旋转手势的简单实现. 一.移动 首先需要从触摸事件(MotionEvent)中 ...
- 集群化部署ZabbixServer
修改Zabbix-agent配置 1.修改配置文件 三台zabbix-Server上操作 vim /etc/zabbix/zabbix_agent2.conf Server=127.0.0.1 改成 ...
- 在 Walrus 上轻松集成 OpenTofu
OpenTofu 是什么? OpenTofu 是一个开源的基础设施即代码(IaC)框架,被提出作为 Terraform 的替代方案,并由 Linux 基金会管理.OpenTofu 的问世为应对 Has ...