位置: IT常识 - 正文

vue3 如何实现 表格内容无缝滚动,我又写了一堆冗余代码(vue3怎么用)

编辑:rootadmin
vue3 如何实现 表格内容无缝滚动,我又写了一堆冗余代码 背景

推荐整理分享vue3 如何实现 表格内容无缝滚动,我又写了一堆冗余代码(vue3怎么用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue3中的watch怎么用,vue的watch方法,vue3 技巧,vue3怎么写,vue3怎么写,vue实现表格,vue3如何实现表格的搜索功能,vue3如何实现表格的搜索功能,内容如对您有帮助,希望把文章链接给更多的朋友!

近期在开发可视化大屏项目,除去各种echarts图表和地图展示之外还有多个表格。现在来了一个需求,需要将大屏中的所有表格设置为内容无缝滚动。 本着程序员的七宗罪原则第一时间推脱了一下,但没推脱成功。

简单的在网上查了下适合我们项目的有两种方案,第一种是使用一款插件 vue3-seamless-scroll第二种方案是自己写JS代码通过计时器去控制表格滚动条自动滚动方案一

从实际开发上考虑使用如果有类似功能开箱即用没什么问题的插件当然是最好不过的,能提高不少工作效率达到准时下班的目的

vue3-seamless-scroll(点击进入官方文档)

根据插件描述说是目前组件支持上下左右无缝滚动,单步滚动,并且支持复杂图标的无缝滚动,支持平台与Vue3.0支持平台一致。

安装npmnpm install vue3-seamless-scroll --saveyarnyarn add vue3-seamless-scrollbrowser<script src="https://unpkg.com/browse/vue3-seamless-scroll@1.0.2/dist/vue3-seamless-scroll.min.js"></script>配置list

无缝滚动列表数据,组件内部使用列表长度。 type: Array required: true

v-model

通过v-model控制动画滚动与停止,默认开始滚动 type: Boolean default: true required: false

direction

控制滚动方向,可选值up,down,left,right type: String default: “up” required: false

isWatch

开启数据更新监听 type: Boolean, default: true, required: false

hover

是否开启鼠标悬停 type: Boolean default: false required: false

count

动画循环次数,默认无限循环 type: Number default: “infinite” required: false

limitScrollNum

开启滚动的数据量,只有列表长度大于等于该值才会滚动 type: Number, default: 5, required: false

step

步进速度 type: Number, required: false

singleHeightvue3 如何实现 表格内容无缝滚动,我又写了一堆冗余代码(vue3怎么用)

单步运动停止的高度 type: Number, default: 0, required: false

singleWidth

单步运动停止的宽度 type: Number, default: 0, required: false

singleWaitTime

单步停止等待时间(默认值 1000ms) type: Number, default: 1000, required: false

isRemUnit

singleHeight and singleWidth 是否开启 rem 度量 type: Boolean default: true required: false

delay

动画延时时间 type: Number, default: 0, required: false

ease

动画效果,可以传入贝塞尔曲线数值 type: String | cubic-bezier, default: “ease-in”, required: false

copyNum

拷贝列表次数,默认拷贝一次,当父级高度大于列表渲染高度的两倍时可以通过该参数控制拷贝列表次数达到无缝滚动效果 type: Number default: 1 required: false

wheel

在开启鼠标悬停的情况下是否开启滚轮滚动,默认不开启 type: boolean default: false required: false

singleLine

启用单行横向滚动 type: boolean default: false required: false

使用1. 注册组件全局注册// **main.js**import { createApp } from 'vue';import App from './App.vue';import vue3SeamlessScroll from "vue3-seamless-scroll";const app = createApp(App);app.use(vue3SeamlessScroll);app.mount('#app');单文件注册<script> import { defineComponent } from "vue"; import { Vue3SeamlessScroll } from "vue3-seamless-scroll"; export default defineComponent({ components: { Vue3SeamlessScroll } })</script>2. 使用组件

我们这里是需要表格内容滚动,直接使用组件包裹表格会让表格的表头一起跟着滚走了,所以使用上有一点小改动 需要将表格代码再复制一份,第一份代码修改css代码将表格的body部分隐藏,第二份代码用组件包裹,并将其表头部分隐藏;

<template> <div class="container"> <el-table class="top-table" :data="tableData" border style="width: 100%;"> <el-table-column prop="type" label="类型" width="120" /> <el-table-column prop="name" label="姓名" /> <el-table-column prop="content" label="内容" /> </el-table> <vue3-seamless-scroll class="seamless" :list="tableData" :hover="true" :step="0.4" :wheel="true" :isWatch="true"> <el-table class="bottom-table" :data="tableData" border style="width: 100%;"> <el-table-column prop="type" label="类型" width="120" /> <el-table-column prop="name" label="姓名" /> <el-table-column prop="content" label="内容" /> </el-table> </vue3-seamless-scroll> </div></template><script lang="ts" setup>import { ref } from 'vue'const tableData: any = ref([])const getData = () => { for (let i = 0; i < 6; i++) { tableData.value.push({ type: `家常菜${i + 1}`, name: `洋茄子炒鸡蛋${i + 1}`, content: `多情键客无情键${i + 1}` }) }}getData()</script><style scoped>.container { width: 500px; height: 300px;}.seamless { width: 100%; height: 220px; overflow: hidden;}:deep .top-table .el-table__body-wrapper { display: none;}:deep .bottom-table .el-table__header-wrapper { display: none; width: 100%;}</style>

这样看效果是不是还行,但是,还有问题,上面示例中我们只造了6条数据,但实际我们项目中表格单页有50条左右数据,那改成50条数据看一下效果

这个插件给它用于表格内容滚动已经做出部分改动了,现在想要达到我们想要的效果还要去做更多的改动,这针对我们现在的需求不能直接开箱即用,到这里我就直接放弃这个方案,如何达到我们想要的效果就放到后面有空的时候再看看,目前还是以工作效率为主。当然如果各位有谁研究好了欢迎私信我,没有奖励只想看看。

方案二

方案二就是直接操作滚动条设置一个计时器让它自己滚动,这个就是比较简单的前端的基本功

思路

我们只需要

本文链接地址:https://www.jiuchutong.com/zhishi/287970.html 转载请保留说明!

上一篇:Chateau de Castelnaud in Perigord, France (© Peter Adams/Offset by Shutterstock)

下一篇:css解决uniapp使用image标签图片无法撑满全屏问题(uniapp的css库)

  • 手机百度网盘卡券怎么用(手机百度网盘卡住不动)

    手机百度网盘卡券怎么用(手机百度网盘卡住不动)

  • 微信相册里的照片怎么删除(微信相册里的照片占内存吗)

    微信相册里的照片怎么删除(微信相册里的照片占内存吗)

  • plc主要由什么组成四部分(plc主要由什么组成,软件和硬件)

    plc主要由什么组成四部分(plc主要由什么组成,软件和硬件)

  • 华为手机老卡反应慢怎么办(华为手机卡屏怎么回事)

    华为手机老卡反应慢怎么办(华为手机卡屏怎么回事)

  • 抖音回关和互相关注的区别(抖音回关和互相的区别)

    抖音回关和互相关注的区别(抖音回关和互相的区别)

  • 快手极速版一天能刷多少金币(快手极速版一天看视频能赚多少钱)

    快手极速版一天能刷多少金币(快手极速版一天看视频能赚多少钱)

  • flash中6种对齐方式(flash对齐工具怎么用)

    flash中6种对齐方式(flash对齐工具怎么用)

  • note4和note4x区别

    note4和note4x区别

  • 安装OTG是什么意思

    安装OTG是什么意思

  • 在计算机中更新换代最快的是(在计算机中更新换代最快的是()ACPUB主板C显卡D声卡)

    在计算机中更新换代最快的是(在计算机中更新换代最快的是()ACPUB主板C显卡D声卡)

  • 苹果蓝牙耳机左耳没声音了(苹果蓝牙耳机左边声音小,右边声音正常)

    苹果蓝牙耳机左耳没声音了(苹果蓝牙耳机左边声音小,右边声音正常)

  • xbox360 s版和e版的区别(xbox360s版和e版哪个散热好)

    xbox360 s版和e版的区别(xbox360s版和e版哪个散热好)

  • 手机怎么把两个视频合成一个视频(手机怎么把两个文件合成一个文件)

    手机怎么把两个视频合成一个视频(手机怎么把两个文件合成一个文件)

  • 小米6x支持24w快充吗(小米6x可以用20w快充吗)

    小米6x支持24w快充吗(小米6x可以用20w快充吗)

  • oppo怎么取消下拉搜索(oppo手机下面三个按键)

    oppo怎么取消下拉搜索(oppo手机下面三个按键)

  • 抖音是哪年才有的(抖音是哪年才有流量的)

    抖音是哪年才有的(抖音是哪年才有流量的)

  • ipad笔 一代和二代区别(ipad笔一代和二代笔尖通用吗)

    ipad笔 一代和二代区别(ipad笔一代和二代笔尖通用吗)

  • 苹果手机怎么解除200m限制(苹果手机怎么解开锁屏)

    苹果手机怎么解除200m限制(苹果手机怎么解开锁屏)

  • 荣耀20有没有nfc(vivos16有没有nfc功能)

    荣耀20有没有nfc(vivos16有没有nfc功能)

  • xs和x外观有区别吗(xs跟x外观一样吗)

    xs和x外观有区别吗(xs跟x外观一样吗)

  • Javascript 如何监听input输入框值的实时变化(js控件的监听事件怎么使用)

    Javascript 如何监听input输入框值的实时变化(js控件的监听事件怎么使用)

  • 南佛罗里达的一只穴小鸮雏鸟和一只成年穴小鸮,美国 (© Carlos Carreno/Getty Images)(佛罗里达naples)

    南佛罗里达的一只穴小鸮雏鸟和一只成年穴小鸮,美国 (© Carlos Carreno/Getty Images)(佛罗里达naples)

  • 新办营利性医疗机构是否免征土地使用税和房产税?
  • 劳务公司怎么交税,都有哪些税
  • 代扣代缴个人所得税手续费返还 增值税
  • 税务申报退税
  • 销售利税率计算公式及分析
  • 劳务费个人所得税怎样计算
  • 已付工资在资产负债表中体现
  • 金蝶怎么增加凭证行数
  • 个体户一定要自己经营吗
  • 2019发票认证期限新规
  • 税盘清卡截止每个月
  • 已申报未导入是申报成功了吗
  • 想开饮品店
  • ATM可以存款到对公账户吗?
  • 金融机构利息收入缴纳增值税
  • 收到政府土地收回的短信
  • 公司注销未登记债权,债务人如何抗辩
  • 支付一年房租计入什么科目
  • 盘亏的设备做营业外支出的会计分录怎么处理?
  • 银行客户专用回单分录
  • 通用机打发票单位名称打不下怎么办
  • 购买房产,税费怎么计算
  • 资产负债表应交税费计算公式
  • 住房公积金是福利费吗
  • 实际发生坏账的账务处理分录
  • 未承兑的商业汇票什么意思
  • 营业收入与主营业务收入的区别与联系
  • 装修费用资本化的条件
  • 耳机插在电脑上有滋滋的声音
  • 预提电费及电费发票到账的会计分录
  • 公司销售自己使用过的固定资产
  • cpu性能排行榜天梯图快科技
  • windows无法验证显卡驱动的数字签名
  • 孕妇不能吃哪些水果?
  • 战地3 win10
  • PHP:imagescale()的用法_GD库图像处理函数
  • vue获取input
  • 外籍人员一次性奖金
  • 金融资产的条件
  • 取得土地使用权的方式
  • 客户多付的货款叫什么
  • JavaScript数组长度
  • stat命令的作用
  • stp 命令
  • 多交的城建税可以抵减扣除吗
  • 营业税借方表示什么
  • 置顶文章
  • python提供的3个基本数字类型
  • Python函数怎么返回
  • 启动mysql的语句
  • 应收账款逾期无法偿还
  • 生产辅料怎么分类
  • 事务所的账务处理
  • 费用什么情况下要写报销单呢
  • mysql insert语句操作实例讲解
  • 兼职劳务费个税计算器
  • 年末所得税结转怎么结转
  • 跨年取得的费用票怎么做账
  • 固定资产相同的物品可以合并嘛
  • 原材料采购未入库会计分录
  • 银企对账操作流程
  • 用SQL脚本读取Excel中的sheet数量及名称的方法代码
  • 请创建一个die类
  • sql语句实现查询示例
  • sql server复制数据库的方法
  • 注册表及其作用
  • 笔记本如何一键锁屏快捷键
  • win8.1专业版是哪个
  • 写出linux相关命令及用法
  • linux bzz
  • opengl opengl
  • Python的pycurl包用法简介
  • python静态函数
  • jquery用什么编写
  • jquery定义方法
  • 国家税务局湖南省电子税务局app下载
  • 上海税务举报电话多少
  • 百望税控盘电子发票开好了如何打印及导出发票
  • 公司欠税交不起股东责任
  • 怎样通过发票号码查询电子发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设