vue3实现无缝滚动列表-vue3-seamless-scroll

 

vue3-seamless-scroll-无缝滚动

        vue3-seamless-scroll,顾名思义是应用在vue3项目中,在Vue3项目中难免会遇到让列表无缝滚动的需求,本篇文章介绍了关于vue3项目中如何实现表格内容无缝滚动及其属性的使用,需要的朋友可以参考一下。
        官网介绍:支持Vite2.0,支持服务端打包,目前组件支持上下左右无缝滚动,单步滚动,并且支持复杂图标的无缝滚动,目前组件支持平台与Vue3.0支持平台一致。

vue3-seamless-scroll 官网

vue2项目中使用-vue-seamless-scroll,参考文档请见:vue实现循环滚动列表-vue-seamless-scroll

一、安装

  •  npm
        npm install vue3-seamless-scroll --save
  • Yarn
        yarn add vue3-seamless-scroll
  • browser
<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

### singleHeight

单步运动停止的高度

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

注意项

        需要滚动的列表所在容器必须设置样式 overflow: hidden;

三、使用 

    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');
  • 单个.vue文件局部注册
<script>
  import { defineComponent } from "vue";
  import { Vue3SeamlessScroll } from "vue3-seamless-scroll";
   export default defineComponent({
      components: {
        Vue3SeamlessScroll
      }
   })
</script>

    2. 使用组件 

        (这里直接是封装了一个独立的组件(假数据),有需要的可以直接拿走使用)

<!-- 动态上下翻滚的表格 -->
<template>
  <div class="table-wrap">
    <div class="titleContent">
      <div class="tit">日期</div>
      <div class="tit">开始时间</div>
      <div class="tit">结束时间</div>
      <div class="tit">应到人数</div>
      <div class="tit">实到人数</div>
      <div class="tit">实到占比</div>
    </div>

    <!-- 配置详情请见 README.md -->
    <vue3-seamless-scroll
      :list="periodDataList"
      class="scroll"
      direction="up"
      :step="0.9"
      :hover="true"
      :limit-scroll-num="7"
      :is-watch="true"
      :single-height="0"
      :single-width="0"
      :single-wait-time="1000"
      :wheel="false"
    >
      <div class="countContent" v-for="(item, i) in periodDataList" :key="i">
        <div class="descr">{{ item.dateTime }}</div>
        <div class="descr">{{ item.startTime }}</div>
        <div class="descr">{{ item.endTime }}</div>
        <div class="descr">{{ item.shouldArriveNumber }}</div>
        <div class="descr">{{ item.actualAttendance }}</div>
        <div class="descr">{{ item.bl }}</div>
      </div>
    </vue3-seamless-scroll>
  </div>
</template>

<script setup lang="ts">
import { ref } from "vue";

const periodDataList = ref<any>([
  {
    dateTime: "2022-05-03",
    startTime: "2022-05-03",
    endTime: "2022-05-03",
    shouldArriveNumber: "1",
    actualAttendance: "100",
    bl: "10%"
  },
  {
    dateTime: "2022-05-03",
    startTime: "2022-05-03",
    endTime: "2022-05-03",
    shouldArriveNumber: "2",
    actualAttendance: "200",
    bl: "10%"
  },
  {
    dateTime: "2022-05-03",
    startTime: "2022-05-03",
    endTime: "2022-05-03",
    shouldArriveNumber: "3",
    actualAttendance: "300",
    bl: "10%"
  },
  {
    dateTime: "2022-05-03",
    startTime: "2022-05-03",
    endTime: "2022-05-03",
    shouldArriveNumber: "4",
    actualAttendance: "400",
    bl: "10%"
  },
  {
    dateTime: "2022-05-03",
    startTime: "2022-05-03",
    endTime: "2022-05-03",
    shouldArriveNumber: "5",
    actualAttendance: "500",
    bl: "10%"
  },
  {
    dateTime: "2022-05-03",
    startTime: "2022-05-03",
    endTime: "2022-05-03",
    shouldArriveNumber: "6",
    actualAttendance: "600",
    bl: "10%"
  },
  {
    dateTime: "2022-05-03",
    startTime: "2022-05-03",
    endTime: "2022-05-03",
    shouldArriveNumber: "7",
    actualAttendance: "700",
    bl: "10%"
  },
  {
    dateTime: "2022-05-03",
    startTime: "2022-05-03",
    endTime: "2022-05-03",
    shouldArriveNumber: "8",
    actualAttendance: "800",
    bl: "10%"
  }
]);
</script>

<style lang="scss" scoped>
.table-wrap {
  width: 100%;

  // padding: 0 20px;
  color: #ffffff;
  .scroll {
    max-height: 278px;
    overflow: hidden;
  }
}
.titleContent {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 40px;
  .tit {
    flex: 0 0 16.6%;
    text-align: center;
  }
}
.countContent {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  font-size: 14px;
  .descr {
    flex: 0 0 16%;
    padding: 10px 0;
    text-align: center;
  }
}
.countContent:nth-of-type(odd) {
  background: #318699 !important;
  .descr {
    border-right: 1px solid #247587;
  }
}
</style>

 效果:

vue3-seamless-scroll-无缝滚动

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

运算放大器(运放)低通滤波反相放大器电路和积分器电路

低通滤波反相放大器电路 运放积分器电路请访问下行链接 运算放大器(运放)积分器电路 设计目标 输入ViMin输入ViMax输出VoMin输出VoMaxBW&#xff1a;fp电源Vee电源Vcc–0.1V0.1V–2V2V2kHz–2.5V2.5V 设计说明 这款可调式低通反相放大器电路可将信号电平放大 26dB 或 20V/…

关于电机PWM到达50%以后才会启动的问题解决

问题描述&#xff1a; 基于野火电机F407骄阳开发板&#xff0c; 利用例程&#xff0c;有刷直流电机按键控制 电驱&#xff1a;TB6612模块 电机&#xff1a;某直流减速有刷电机 发现PWM 到达50%之后 电机 才会开始旋转 。前50%电机不旋转 问题解决分析与过程&#xf…

Ocam:高效录屏,屏幕录制最佳?

名人说&#xff1a;&#xff1a;一点浩然气&#xff0c;千里快哉风。 ——苏轼 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、软件介绍1、Ocam2、核心特点 二、下载安装1、下载2、安装 三、使用方法 很高兴你…

Node.js 系列之 Express 框架入门实战教程

目录 1 Node.js是什么2 Express初体验3 Express 路由3.1 什么是路由3.2 路由的使用3.3 获取路由参数 4 常见响应设置4.1 express 响应方法4.2 原生响应方法 5 express 中间件5.1 中间件作用5.2 中间件类型5.3 全局中间件5.4 路由中间件 6 获取请求体数据7 路由模块化 1 Node.js…

【LocalAI】(13):LocalAI最新版本支持Stable diffusion 3,20亿参数图像更加细腻了,可以继续研究下

最新版本v2.17.1 https://github.com/mudler/LocalAI/releases Stable diffusion 3 You can use Stable diffusion 3 by installing the model in the gallery (stable-diffusion-3-medium) or by placing this YAML file in the model folder: Stable Diffusion 3 Medium 正…

Android AOSP 6(1)

mkdir android-6.0.1_r72 cd android-6.0.1_r72 2.下载相应版本的源码 先查询设备支持的版本&#xff0c;你要下载那个版本的源码&#xff0c;科学上网查看source.android.com/source/buil…。表格如下格式&#xff0c;查询对应设备的相应分支。 BuildBranchVersionSupporte…

Python与Java实现SM2互调

文章目录 一、项目背景二、环境极其依赖三、具体功能1.Python生成密钥对2.java生成密钥对3.Python加签验签4.java加签验签 四、遇到的问题五、解决方案 一、项目背景 Python对接Java接口互相SM2加签验签 二、环境极其依赖 python环境 pip3 install gmssljava环境 <depen…

字符串根据给定关键词进行高亮显示

问题 一般使用搜索引擎的时候我们会发现,搜索出来的内容都对我们搜索的关键词进行了高亮显示, 这样我们能很直观的看出是不是我们想要的结果, 最近我也遇到了类似的功能, 因为关于舆情的系统使用到了ES, 一开始心想ES本身就有支持的API实现起来不难, 但我这里的需求还不太一样…

2023-2024 学年第二学期小学数学六年级期末质量检测模拟(制作:王胤皓)(90分钟)

word效果预览&#xff1a; 一、我会填 1. 1.\hspace{0.5em} 1. 一个多位数&#xff0c;亿位上是次小的素数&#xff0c;千位上是最小的质数的立方&#xff0c;十万位是 10 10 10 和 15 15 15 的最大公约数&#xff0c;万位是最小的合数&#xff0c;十位上的数既不是质数也…

【Kubernetes】集群学习

常见的 Kubernetes 集群类型 Kubernetes 集群可以根据不同的标准进行分类&#xff0c;但通常我们根据其部署环境和用途来区分集群类型。以下是几种常见的 Kubernetes 集群类型&#xff1a; 开发集群&#xff08;Development Cluster&#xff09;&#xff1a; 用于开发和测试环…

Linux 特殊变量 $?

一. 说明 在 Linux 和其他类 Unix 系统中&#xff0c;$? 是一个特殊的变量&#xff0c;用于获取上一个命令的退出状态码。 退出状态码是一个整数值&#xff0c;通常用来表示命令的执行结果。 ⏹退出状态码的含义 0&#xff1a;命令成功执行。0以外的数字&#xff1a;命令执…

上市公司澄清公告数据库(2001-2023)

数据来源&#xff1a;中国上市公司澄清公告数据来自深交所上市公司公告板块https://www.szse.cn/disclosure/listed/notice/index.html、上交所上市公司公告板块https://www.sse.com.cn/disclosure/listedinfo/announcement/和部分受上市公司委托发布的财经媒体如新浪财经、东方…

一小时搞定Git(含盖IDEA使用)

文章目录 1. git基本概念1.1版本控制1.1.1 版本控制软件 2. 命令的使用2.1 Linux命令2.2 git基础指令2.2.1 设置用户2.2.2 初始化本地仓库2.2.3 查看本地仓库状态2.2.4 添加暂存区域2.2.5 提交本地库2.2.6 切换版本 2.3 分支操作2.3.1 分支基本操作2.3.2 合并操作2.3.4 分支开发…

想更好应对突发网络与业务问题?您需要一款“全流量”

全流量分析&#xff0c;能为我做什么&#xff1f; 在生活中遇到问题&#xff0c;我们的第一反应可能是拿出手机拍照记录&#xff0c;方便后续处理。这些问题是临时的、突发的。 流量分析&#xff0c;就是网络中的“手机”&#xff0c;针对突发的网络故障和安全事件&#xff0…

【bug】配置SpringCloudAlibaba AI的maven依赖问题

问题描述 尝鲜alibaba的ai模块&#xff0c;maven依赖一直报找不到包&#xff0c;报错如下 Unresolved dependency: org.springframework.ai:spring-ai-core:jar:0.8.1原因分析&#xff1a; 由于是按照官方文档配置的&#xff0c;所以检查了很多遍maven配置&#xff0c;加上去…

java:spring-security的简单例子

【pom.xml】 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.3.12.RELEASE</version> </dependency> <dependency><groupId>org.springf…

飞行堡垒系列_键盘灯开关

飞行堡垒系列键盘灯可以通过键盘上的"Fn 方向键"控制 演示机型品牌型号&#xff1a;飞行堡垒8 系统版本&#xff1a;Windows 11 飞行堡垒键盘灯可通过键盘上的"Fn方向键"控制。 " Fn 下方向键 "为减弱键盘灯光&#xff0c;多按几次键盘灯就可…

如何使用AI工具进行写作

随着AI人工智能技术的飞速发展&#xff0c;AI工具已经逐渐成为学术和专业写作的得力助手。AI工具不仅可以帮助我们提高写作效率&#xff0c;还能在内容创作上提供灵感和支持。在本文中&#xff0c;小编将和大家分享如何利用AI工具提高写作效率和质量&#xff0c;并确保文章的原…

湖北民族大学2024年成人高等继续教育招生简章

湖北民族大学&#xff0c;这所承载着深厚文化底蕴和卓越教育理念的学府&#xff0c;在崭新的2024年再次敞开怀抱&#xff0c;热烈欢迎有志于深化学习、提升自我的成人学员们。今年的成人高等继续教育招生&#xff0c;不仅是学校对于终身教育理念的具体实践&#xff0c;更是为广…

java的单例集合迭代器

迭代器Iterator 根据之前的介绍我们知道&#xff0c;单例集合是由接口Collection定义的容器。Collection接口之下由定义了List接口和Set接口&#xff0c;其中List接口定义的容器的特征是有序可重复&#xff0c;而Set接口定义的容器的特征是无序不可重复的。 List接口定义的容器…