vue中实现列表无缝动态滚动

要想实现列表的动态无缝滚动,这里推荐两款组件,vue-seamless-scroll和vue3-seamless-scroll,组件的用法也非常简单,以下是使用方式。

vue2

vue2版本使用vue-seamless-scroll

vue-seamless-scroll文档https://chenxuan0000.github.io/vue-seamless-scroll/zh/guide/

一、安装组件。

npm install vue-seamless-scroll --save

二、引入组件

import VueSeamlessScroll from 'vue-seamless-scroll'

三、使用组件

<template><div class="box-content"><div class="box-table-title"><div style="width: 40%">所属公司</div><div style="width: 20%">检查结果</div><div style="width: 30%">检查时间</div><div style="width: 10%">操作</div></div><div class="box-table"><div class="box-table-body" style="width: 100%;height: 140px;overflow: hidden" @click="clickup($event)"><vue-seamless-scroll :data="checkList" :classOption="classOption"><div class="box-table-row" v-for="item in checkList" :key="item.id"><div class="ellipsis" style="width: 40%">{{ item.enterpriseName }}</div><div :class="['ellipsis',item.inspectionResult==='1'?'':'isRed']" style="width: 20%">{{item.inspectionResult==='1'?'合格':'不合格'}}</div><div class="ellipsis" style="width: 30%">{{ item.inspectionTime }}</div><div class="ellipsis facility-button" style="width: 10%"  :data-item="JSON.stringify(item)">详情</div></div></vue-seamless-scroll></div></div></div>          
</template>

组件使用方法很简单,引入组件后,直接给组件传入列表数组和组件配置项即可,外层容器需要设置width、height、overflow:hidden,组件的配置项可以写在computed里缓存起来。

 computed: {classOption () {//大屏滚动配置参数return {step: 1, // 数值越大速度滚动越快limitMoveNum: 6, // 开始无缝滚动的数据量hoverStop: true, // 是否开启鼠标悬停stopdirection: 1, // 0向下 1向上 2向左 3向右waitTime: 3000, // 单步运动停止的时间(默认值1000ms)singleHeight:30}},},

实现效果如下

四、注意

在滚动列表中添加点击事件,出现点击事件失效的问题,可以看到在最后一项添加了详情按钮,点击按钮有一部分无法跳出弹窗。

原因是在于滚动组件为了实现无缝滚动,内部复制了一份dom,复制的那份dom无法触发点击事件。

解决方案:

利用事件委托,在详情按钮那里绑定自定义属性,然后给父级元素绑定点击事件,通过e.target.dataset获取自定义属性,拿到对应的数据。

//利用事件委托,解决滚动导致的点击事件失效问题clickup(e){if(e.target.dataset.item){let row = JSON.parse(e.target.dataset.item)console.log(row)}},

vue3里实现列表滚动可以使用vue3-seamless-scroll,用法与vue2版本有一点不同,将配置项拆开传入组件了

vue3

vue3版本使用vue3-seamless-scroll

vue3-seamless-scroll文档:https://doc.wssio.com/opensource/vue3-seamless-scroll/

一、组件安装

npm install vue3-seamless-scroll

二、引入组件

import {Vue3SeamlessScroll} from 'vue3-seamless-scroll'

三、使用组件

<div class="table"><div class="table-header"><div>时间</div><div>姓名</div><div>地址</div></div><div class="table-body"><Vue3SeamlessScroll  v-model="isScroll" :list="tableData" :step="0.5" :hover="true":limitScrollNum="3" :wheel="true"><div v-for="(item, index) in tableData" :key="index" class="table-row"><div>{{ item.date }}</div><div>{{ item.name }}</div><div>{{ item.address }}</div></div></Vue3SeamlessScroll></div></div>

四、demo实现效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/6382.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

BeanDefinition体系架构(待...)

AbstractBeanDefinition 仅仅只有三个直接的子类&#xff0c;分别是&#xff1a;RootBeanDefinition、ChildBeanDefinition、GenericBeanDefinition 注&#xff1a;在 Spring2.5 之前&#xff0c;仅仅只有 RootBeanDefinition、ChildBeanDefinition 两个子类&#xff0c; 我们…

002-Kotlin界面开发之Kotlin旋风之旅

Kotlin旋风之旅 Compose Desktop中哪些Kotlin知识是必须的&#xff1f; 在学习Compose Desktop中&#xff0c;以下Kotlin知识是必须的&#xff1a; 基础语法&#xff1a;包括变量声明、数据类型、条件语句、循环等。面向对象编程&#xff1a;类与对象、继承、接口、抽象类等。…

基于SpringBoot的教务系统

本系统集成了权限管理与用户管理两大核心功能&#xff0c;允许灵活添加用户角色及其对应权限。 技术选型&#xff1a;SpringBootVueShiromybatis 当前系统预设了四种用户类型&#xff0c;具体如下&#xff1a; 管理员&#xff1a;拥有系统的全部权限&#xff0c;涵盖基础管理…

详解Python面向对象程序设计

Python面向对象程序设计 1&#xff0c;初识类和对象2&#xff0c;类的定义和使用3&#xff0c;构造方法4&#xff0c;常用的类内置方法4.1&#xff0c;字符串方法&#xff1a;__str__ 4.2&#xff0c;是否小于&#xff1a;__lt__4.3&#xff0c;是否小于等于&#xff1a;__le__…

LeetCode 热题100之二分

关于二分&#xff0c;之前也写过一篇&#xff0c;参考二分Acwing 1.搜索插入位置 思路分析&#xff1a;典型的 二分查找算法&#xff0c;用于在一个已排序的数组中查找目标值的位置。如果找到了目标值&#xff0c;返回其索引&#xff1b;如果没有找到&#xff0c;则返回目标值…

Python+Appium+Pytest+Allure自动化测试框架-安装篇

文章目录 安装安装ADT安装NodeJs安装python安装appium安装Appium Server&#xff08;可选&#xff09;安装Appium-Inspector&#xff08;可选&#xff09;安装allure安装pytest PythonAppiumPytestAllure框架的安装 Appium是一个开源工具&#xff0c;是跨平台的&#xff0c;用于…

Twitter(X)2024最新注册教程

Twitter 现名为X&#xff0c;因为图标是一只小鸟的形象&#xff0c;大家也叫它小蓝鸟&#xff08;埃隆马斯克于 2023 年对该平台进行了品牌重塑&#xff09;&#xff0c;目前仍然是全球最受欢迎的社交媒体和微博平台之一&#xff0c;全球活跃用户量大概在4.5亿。尤其是欧美国家…

[HCTF 2018]WarmUp 1--详细解析

打开靶机&#xff0c;进入界面&#xff1a; 信息搜集 当前界面没有任何有用信息。 想到查看页面源代码。右键–查看页面源代码 看到hint&#xff1a;<!--source.php--> 进入/source.php页面&#xff0c;看到页面源代码&#xff1a; <?phphighlight_file(__FILE_…

HFSS学习笔记(五)金属过孔、复制模型带激励等问题(持续更新...)

HFSS学习笔记&#xff08;五&#xff09;金属过孔、复制模型带激励等问题&#xff08;持续更新…&#xff09; 一、金属过孔设计 方法一&#xff1a;用介质减去金属圆柱体&#xff0c;然后再添加金属圆柱体 方法二&#xff1a;嵌入金属圆柱 圆柱过孔选择材料为“copper” HFS…

FFmpeg 4.3 音视频-多路H265监控录放C++开发十. 多线程控制帧率。循环播放,QT connect 细节,

在前面&#xff0c;我们总结一下前面的代码。 在 FactoryModeForAVFrameShowSDL 构造函数中 init SDL。 通过 QT timerevent机制&#xff0c;通过startTimer(10);每隔10ms&#xff0c;就会调用timerEvent事件。 在timerEvent事件中&#xff0c;真正的去 读取数据&#xff0c…

「iOS」——知乎日报一二周总结

知乎日报仿写 前言效果Manager封装网络请求线程冲突问题下拉刷新添加网络请求的图片通过时间戳和日期格式化获取时间 总结 前言 前两周内容的仿写&#xff0c;主要完成了首页的仿写&#xff0c;进度稍慢。 效果 Manager封装网络请求 知乎日报的仿写需要频繁的申请网络请求&am…

用流量策略做多出口实验

一、拓扑&#xff1a; 二、配置过程&#xff1a; 1、配置 IP 地址&#xff0c;配置动态路由协议 OSPF 2、AR2 上&#xff0c;配置高级 ACL&#xff0c;允许 ospf 流量、1 到 6、2 到 8、deny 所有 3、写流分类&#xff0c;抓取流量特征 4、写流行为&#xff0c;配置流量动作 5、…

跨境云专线:构建高速、安全的全球业务网络

在企业出海加速的背景下&#xff0c;越来越多的企业需要在全球范围内部署业务&#xff0c;特别是在多个国家和地区之间进行数据传输。然而&#xff0c;跨境网络连接常常面临带宽不足、延迟高、数据安全性差等问题&#xff0c;这给企业的业务运营带来了巨大挑战。为了解决这些问…

leetcode动态规划(二十四)-最长递增子序列

题目 300.最长递增子序列 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组 [0,3,1,6,2,2,7…

C++ 内存管理

new与delete 在C语言中&#xff0c;我们已经了解了三个动态内存管理的函数——malloc,calloc以及realloc,通过动态内存开辟&#xff0c;申请和释放空间更加的灵活 int main() {int* arr (int*)malloc(sizeof(int) * 10);for (int i 0; i < 10; i) {arr[i] i;print…

2. JVM的架构模型和生命周期

一、前言 Java 编译器输入的指令流是一种基于栈的指令集架构&#xff0c;还有另一种指令集架构是基于寄存器的指令集架构。 二、两种架构之前的区别 基于栈的架构特点&#xff1a; 设计和实现更简单&#xff0c;适用于资源受限的系统&#xff1b;避开了寄存器的分配难题&am…

Flutter3.22.2中SliverAppBar设置背景色滑动显示颜色错误

在使用Flutter项目开发中&#xff0c;可能会有页面需要滑动收起标题栏的效果&#xff0c;一般都会使用SliverAppBar来实现&#xff0c;当项目的Flutter的SDK版本升级到3.4后&#xff0c;发现使用了SliverAppBar的页面&#xff0c;在滑动过程中&#xff0c;标题栏和状态栏的颜色…

vim 编辑器

1. 学习 vim 的目的 在工作中&#xff0c;要对 服务器 上的文件进行 简单 的修改&#xff0c;可以使用 ssh 远程登录到服务器上&#xff0c;并且使用 vim 进行快速的编辑即可常见需要修改的文件包括&#xff1a;源程序配置文件&#xff0c;例如 ssh 的配置文件 ~/.ssh/config …

瑞派宠物医院轮值总裁胡文强受邀出席第三届宠物产业大会

中国宠物产业蓬勃发展&#xff0c;成为推动国民经济持续增长的重要力量&#xff0c;宠物市场规模持续扩大。为进一步推动宠物产业的创新驱动&#xff0c;加强产业上下游深度交流和协同发展&#xff0c;中国畜牧业协会宠物产业分会于2024年10月15-17日在浙江杭州召开第三届宠物产…

Linux云计算 |【第五阶段】CLOUD-DAY7

主要内容&#xff1a; 在kubernetes平台上理解掌握各种控制器的用法&#xff1a;掌握kubectl管理命令、掌握POD原理、掌握集群调度的规则、熟悉控制器资源文件&#xff1b; 一、kubectl 常用命令 Kubectl是用于控制Kubernetes集群的命令行工具&#xff1b; - 格式&#xff1…