首页 > 其他分享 >vue-seamless-scroll(一个简单的基于vue.js的无缝滚动)

vue-seamless-scroll(一个简单的基于vue.js的无缝滚动)

时间:2023-02-04 13:38:31浏览次数:55  
标签:vue 滚动 title seamless js date 无缝


一般在数据可视化项目中经常会看到无缝滚动的表格,即轮播表,我们可以使用 vue-seamless-scroll 来实现,使用起来也很方便

 vue-seamless-scroll官网:​​vue-seamless-scroll​

1. 安装 

NPM 

npm install vue-seamless-scroll --save

Yarn 

yarn add vue-seamless-scroll

PNPM 

pnpm add vue-seamless-scroll

2. 引入组件注册 

import VueSeamlessScroll from "vue-seamless-scroll";
export default {
components: { VueSeamlessScroll }
}

3. 使用 

在实际项目中可能不止一个地方使用轮播表,所以我这里还是将其封装为单独一个组件可以复用,该组件默认都是宽高100% * 100%,给定一个容器引入即可。样式也是可以随意调整的,传入数据和配置项即可。具体配置项(class-option)看​​https://chenxuan0000.github.io/vue-seamless-scroll/zh/guide/properties.html#data​

 组件封装

src/components/VueSeamlessScroll/index.vue

<template>
<div class="vue-seamless-scroll">
<VueSeamlessScroll :data="listData" class="warp" :class-option="classOption">
<div class="row" v-for="item in listData" :key="item.id">
<div>{{ item.title }}</div>
<div>{{ item.date }}</div>
</div>
</VueSeamlessScroll>
</div>
</template>
<script>
import VueSeamlessScroll from "vue-seamless-scroll";
export default {
components: { VueSeamlessScroll },
props: {
listData: {
type: Array,
default: () => []
},
classOption: {
type: Object,
default: () => {}
}
}
};
</script>
<style scoped>
.vue-seamless-scroll {
width: 100%;
height: 100%;
padding: 12px 5px;
box-sizing: border-box;
}
.warp {
width: 100%;
height: 100%;
overflow: hidden;
}
.row {
width: 100%;
display: flex;
justify-content: space-between;
margin-bottom: 5px;
}
</style>

组件引入使用 

<template>
<div class="index">
<div class="scroll-table">
<!-- 轮播组件 -->
<VueSeamlessScroll :listData="listData" :classOption="{ step: 1, limitMoveNum: 5 }" />
</div>
</div>
</template>
<script>
import VueSeamlessScroll from '@/components/VueSeamlessScroll'
export default {
data() {
return {
listData: []
}
},
components: { VueSeamlessScroll },
mounted(){
this.getData()
},
methods:{
// 获取轮播数据
getData() {
setTimeout(() => {
this.listData = [
{
id: 1,
title: "无缝滚动第一行无缝滚动第一行",
date: "2017-12-16",
},
{
id: 2,
title: "无缝滚动第二行无缝滚动第二行",
date: "2017-12-16",
},
{
id: 3,
title: "无缝滚动第三行无缝滚动第三行",
date: "2017-12-16",
},
{
id: 4,
title: "无缝滚动第四行无缝滚动第四行",
date: "2017-12-16",
},
{
id: 5,
title: "无缝滚动第五行无缝滚动第五行",
date: "2017-12-16",
},
{
id: 6,
title: "无缝滚动第六行无缝滚动第六行",
date: "2017-12-16",
},
{
id: 7,
title: "无缝滚动第七行无缝滚动第七行",
date: "2017-12-16",
},
{
id: 8,
title: "无缝滚动第八行无缝滚动第八行",
date: "2017-12-16",
},
{
id: 9,
title: "无缝滚动第九行无缝滚动第九行",
date: "2017-12-16",
},
{
id: 10,
title: "无缝滚动第十行无缝滚动第十行",
date: "2017-12-16",
},
];
}, 200);
},
},
}
</script>
<style scoped>
.index {
width: 100%;
height: 100%;
padding: 20px 0 0 20px;
box-sizing: border-box;
}
.scroll-table {
width: 350px;
height: 300px;
border: 1px dashed red;
}
</style>

标签:vue,滚动,title,seamless,js,date,无缝
From: https://blog.51cto.com/u_15697128/6037130

相关文章

  • vue.js客服系统实时聊天项目开发(二十)vue项目框架目录结构
    在之前的文章里没有介绍vue项目的目录结构,现在来介绍一下Vue项目的目录结构通常如下:.|--public||--favicon.ico||--index.html|--src||--assets|......
  • vue.js客服系统实时聊天项目开发(十九)使用正则将消息格式替换为产品卡片信息
    我们客服系统的消息列表中,会有产品卡片展示,这个是怎么实现的呢  产品信息其实就是下面这个字符串product[{"title":"纯坚果零食大礼包一整箱干果类网红爆款解馋小......
  • vue(五)-cnblog
    vue(五)1.动态组件组件的显示与隐藏切换1.1<component>组件组件的一个占位符通过设置属性来显示不同的组件is属性来指定要显示哪个属性示例<template><di......
  • vue(八)头条项目-cnblog
    vue(八)头条项目1.项目结构根据vuecreatemy-toutiao创建项目勾选上router2.生成的项目中的view文件夹和compoent文件夹都是用于存放组件view中的组件是通过路由......
  • Vue(六)-cnblog
    Vue(六)1.前端路由hash值与组件之间的对应关系hash值代表url地址中#号后面的内容,不同的hash地址对应不同的组件图解1.2简易路由<template><divclass="ap......
  • vue3
    Vue3的特性1.新的构建工具vite1.2基本使用vite基本使用:创建项目npminitvite-app项目名称或者yarncreatevite-app项目名称安装依赖npmi或者yarn启......
  • 1、配置vue项目支持es6语法-cnblog
    一些注意点1、配置vue项目支持es6语法在package.json文件中新增type节点package.json{"type":"module",}2.Vuex的挂载Vue.use方法调用了一个install的......
  • vue3 与vue2的区别-cnblog
    vue3与vue2的区别1.template节点vue2只允许一个根节点vue3允许多个根节点2.创建工具vue3:使用vite,也可使用vue-clivue2:使用vue-clivite创建3.调试工......
  • vue入门(二)-cnblog
    vue入门(二)1.过滤器一个函数在插值表达式中使用,对插值的值进行再处理{{username|toUpCase}}示例<!DOCTYPEhtml><htmllang="en"><head><metacharset......
  • vue入门(一)-cnblog
    vue入门(一)1.什么是vue一个框架(现有的解决方案)构造用户界面(操作html页面的内容)2.vue的特性数据驱动视图页面所依赖的数据发生变化时,vue会监听数据的变化,重新......