位置: 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库)

  • java condition(java condition源码解析)

    java condition(java condition源码解析)

  • win7屏幕休眠时间怎么调(win7屏幕休眠时间不生效)

    win7屏幕休眠时间怎么调(win7屏幕休眠时间不生效)

  • 华为Nova5Pro卡槽口在哪里(华为nova5pro卡槽坏了多少钱)

    华为Nova5Pro卡槽口在哪里(华为nova5pro卡槽坏了多少钱)

  • word视图模式有几种(word视图模式有哪些)

    word视图模式有几种(word视图模式有哪些)

  • 谷歌一直在核对信息怎么解决(谷歌一直在核对信息怎么解决小米)

    谷歌一直在核对信息怎么解决(谷歌一直在核对信息怎么解决小米)

  • 将华为电话设为默认应用什么意思(将华为电话设为空号)

    将华为电话设为默认应用什么意思(将华为电话设为空号)

  • 腾讯会议最小化会被发现吗(腾讯会议最小化怎么弄)

    腾讯会议最小化会被发现吗(腾讯会议最小化怎么弄)

  • 海康球机ac24电源接法(海康4223球机)

    海康球机ac24电源接法(海康4223球机)

  • 淘宝读取不到相册照片(淘宝读取不了相机照片)

    淘宝读取不到相册照片(淘宝读取不了相机照片)

  • 苹果11怎么恢复微信聊天记录(苹果11怎么恢复原来的壁纸)

    苹果11怎么恢复微信聊天记录(苹果11怎么恢复原来的壁纸)

  • 华为mate30pro微信视频带美颜吗(华为mate30pro微信拍摄模糊)

    华为mate30pro微信视频带美颜吗(华为mate30pro微信拍摄模糊)

  • ip协议组包括什么协议(ip协议包含)

    ip协议组包括什么协议(ip协议包含)

  • 京东e卡退货后会退回来吗(京东e卡退货后还返还吗)

    京东e卡退货后会退回来吗(京东e卡退货后还返还吗)

  • 为什么手机录屏的视频没有声音(为什么手机录屏录不到声音?)

    为什么手机录屏的视频没有声音(为什么手机录屏录不到声音?)

  • ppt的3种文件扩展名(ppt课件的文件扩展名)

    ppt的3种文件扩展名(ppt课件的文件扩展名)

  • vivox30带nfc功能吗(vivox30的nfc怎么用)

    vivox30带nfc功能吗(vivox30的nfc怎么用)

  • 手机发不了视频怎么回事(手机发不了视频怎么办)

    手机发不了视频怎么回事(手机发不了视频怎么办)

  • 拼多多的现金钱包在哪(拼多多的现金钱在哪里看)

    拼多多的现金钱包在哪(拼多多的现金钱在哪里看)

  • 手机怎样恢复删除的文件(手机怎样恢复删除的短信)

    手机怎样恢复删除的文件(手机怎样恢复删除的短信)

  • 微信语音通话怎么闭麦(微信语音通话怎么恢复)

    微信语音通话怎么闭麦(微信语音通话怎么恢复)

  • 三星note和s谁是旗舰(三星的note和s系列哪个更好)

    三星note和s谁是旗舰(三星的note和s系列哪个更好)

  • 苹果xs双网通和公开版的区别

    苹果xs双网通和公开版的区别

  • 为什么微信没有声音提示(为什么微信没有朋友圈这一项)

    为什么微信没有声音提示(为什么微信没有朋友圈这一项)

  • WPS文字如何查找和替换(wps文字如何查找重复)

    WPS文字如何查找和替换(wps文字如何查找重复)

  • 其他综合收益包括资本公积吗
  • 销售农产品是否可以抵税
  • 制造费用结转成什么
  • 电子承兑逾期提示付款说明怎么写
  • 事业单位个税可以抵扣吗
  • 高新企业研发费用占比要求
  • 预缴增值税为什么记借方
  • 房地产开发公司注册条件
  • 冲减利润怎么做账
  • 技术服务结转成本的会计分录
  • 最新个人独资企业
  • 增值税税负率计算包含附加税吗
  • 增值税专用发票电子版
  • 生产企业出口退税流程
  • 合伙企业个人所得税经营所得怎么申报
  • 建筑企业在境外施工税收一共包括几个部分
  • 应征增值税销售额和应税销售额
  • 公司自持物业所承担的土地出让金是否可以抵扣呢?
  • 不经常发生应税行为的企业可以选择按小规模纳税人纳税
  • 税务稽查是什么
  • 民间非营利组织会计制度最新版
  • 税务局不备案可以吗
  • 核销以前年度的其他应付款
  • 客户的佣金
  • windows11怎么打开设置
  • 在windows七中
  • android 设置按钮颜色
  • 贴息费率
  • Win10宽带无法连接
  • phpemail正则
  • 政策性搬迁补偿收入如何财税处理
  • linux 速度
  • PHP:pg_connection_reset()的用法_PostgreSQL函数
  • 前端lru
  • php编写网站
  • 销售机构人员工资属于管理费用吗
  • PHP:mcrypt_get_iv_size()的用法_Mcrypt函数
  • 个体工商户筹集资金的难易程度
  • 哈勃太空望远镜取得的部分成果有哪些
  • thinkphp怎么用
  • 工资零申报3个月后不能申报了吗
  • pytorch基础教程
  • 回购证券标的
  • 个税借方的含义
  • 销售返利的会计分录处理
  • 汇算清缴如何调报表
  • 上传附件不成功怎么回事
  • php网站首页的源码在哪里
  • 织梦如何采集文章
  • 服装类发票可以抵扣哪些
  • 其他权益工具影响所得税吗
  • 生产成本可以结转到主营业务成本吗
  • 关于发放节日补助的通知
  • 作废的金额包含在总额里面吗
  • 房屋租赁费计入什么会计科目
  • 勘察设计费是否可以进入在建工程
  • 物业公司支出费用
  • 股权支付费用是什么意思
  • 开公司如何选择行业
  • 无形资产的摊销方法
  • 跨国公司国内外发展现状
  • 公司私营企业
  • sqlserver 版本号
  • ubuntu桌面右键
  • cleanmymac3激活码领取
  • -f linux命令
  • 防火墙ddos攻击防范
  • linux虚拟空间
  • firefox怎样调整为中文
  • shell脚本检查语法
  • 封装是什么意思?
  • javascript初级教程
  • jquery原理解析
  • 电子专票红字信息表
  • 销售旧货如何开票
  • 重庆国税局客服电话
  • 问一下医院
  • 衡阳地税局的地理位置
  • 晋阳学堂实验学校学费多少钱
  • 苏30参数
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设