位置: IT常识 - 正文

vue大屏开发系列—列表无缝滚动之vue-seamless-scroll(vue大屏组件库)

发布时间:2023-12-24
vue大屏开发系列—列表无缝滚动之vue-seamless-scroll

目录

一 安装

二 使用

 三 简单使用

四  应用


推荐整理分享vue大屏开发系列—列表无缝滚动之vue-seamless-scroll(vue大屏组件库),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue开发数据大屏,vue 大屏可视化设计 开源,vue大屏项目,vue大屏适配,vue大屏可视化模板,vue大屏项目,vue大屏项目,vue大屏项目,内容如对您有帮助,希望把文章链接给更多的朋友!

vue-seamless-scroll是一个基于Vue.js的简单无缝滚动组件, 基于requestAnimationFrame实现,配置多满足多样需求。目前支持上下左右无缝滚动,单步滚动,以及支持水平方向的手动切换功能

官方文档:  vue-seamless-scroll的简介及使用教程 - Made with Vuejs

一 安装

npm安装 : 

npm install vue-seamless-scroll --save

yarn 安装:

yarn add vue-seamless-scroll 二 使用

全局注册:

import Vue from 'vue'import scroll from 'vue-seamless-scroll'Vue.use(scroll)

局部注册:

 注意这里分vue2和veu3注册

vue大屏开发系列—列表无缝滚动之vue-seamless-scroll(vue大屏组件库)

vue2:  

import vueSeamless from 'vue-seamless-scroll'

vue3;找不到路径所以加了 /src

import vueSeamless from 'vue-seamless-scroll/src'components: { vueSeamless }, 三 简单使用<div id="app"> <vue-seamless-scroll></vue-seamless-scroll> </div>

四  应用

本文是在“物美智能”源码的基础上进行二次开发完成wumei-smart: 物美智能开源物联网平台,简单易用,可用于搭建物联网平台以及二次开发和学习。适用于智能家居、智慧办公、智慧社区、农业监测、水利监测、工业控制等。

也可以直接在lofTV-Screen代码上直接修改IofTV-Screen: 🔥一个基于 vue、datav、Echart 框架的物联网可视化(大屏展示)模板,提供数据动态刷新渲染、屏幕适应、数据滚动配置,内部图表自由替换、Mixins注入等功能,持续更新....

效果如下,技术点主要使用了

<template> <div v-if="pageflag" class="right_center_wrap beautify-scroll-def" :class="{ 'overflow-y-auto': !sbtxSwiperFlag }"> <component :is="components" :data="list" :class-option="defaultOption"> <ul class="right_center "> <li class="right_center_item" v-for="(item, i) in list" :key="i"> <span class="orderNum">{{ i + 1 }}</span> <div class="inner_right"> <div class="dibu"></div> <div class="flex"> <div class="info"> <span class="labels ">设备ID:</span> <span class="contents zhuyao"> {{ item.serialNumber }}</span> </div> <div class="info time"> <span class="labels">时间:</span> <span class="contents" style="font-size:12px"> {{ item.createTime }}</span> </div> <div class="info"> <span class="labels1" >属性上报</span> </div> </div> <div class="flex"> <div class="info"> <span class="labels">设备名称:</span> <span class="contents "> {{ item.deviceName }}</span> </div> <div class="info"> <span class="labels">属性:</span> <span class="contents ciyao" style="font-size:12px"> {{ item.identity }}</span> </div> <div class="info"> <span class="labels">数值:</span> <span class="contents warning"> {{ item.logValue}}</span> </div> </div> </div> </li> </ul> </component> </div> <Reacquire v-else @onclick="getData" style="line-height:200px" /></template><script>import { currentGET } from '@/api/bigScreen/modules'import vueSeamlessScroll from 'vue-seamless-scroll' // vue2引入方式import Kong from '../components/kong.vue'import {listAllDeviceLog} from "@/api/iot/deviceLog";export default { components: { vueSeamlessScroll, Kong }, data() { return { list: [], pageflag: true, defaultOption: { ...this.$store.state.settings.defaultOption, limitMoveNum: 3, singleHeight: 250, step:0, }, queryParams: { pageNum: 1, pageSize: 20 }, }; }, computed: { sbtxSwiperFlag() { let ssyjSwiper = this.$store.state.settings.ssyjSwiper if (ssyjSwiper) { this.components = vueSeamlessScroll } else { this.components = Kong } return ssyjSwiper } }, created() { this.getData() }, mounted() { }, beforeDestroy() { this.clearData() }, methods: { clearData() { if (this.timer) { clearInterval(this.timer) this.timer = null } }, switper() { if (this.timer) { return } let looper = (a) => { this.getData() }; this.timer = setInterval(looper, this.$store.state.settings.leftBottomTime); }, getData() { this.pageflag = true listAllDeviceLog(this.queryParams).then(res => { if (!this.timer) { console.log("检测数据", res); } if (res.code == 200) { this.list = res.data; this.defaultOption.step=this.$store.state.settings.defaultOption.step this.switper(); } else { this.pageflag =false; this.$Message.warning(res.msg); } }) }, },};</script><style lang='scss' scoped>.right_center { width: 100%; height: 100%; .right_center_item { display: flex; align-items: center; justify-content: center; height: auto; padding: 10px; font-size: 14px; color: #fff; .orderNum { margin: 0 20px 0 -20px; } .inner_right { position: relative; height: 100%; width: 400px; flex-shrink: 0; line-height: 1.5; .dibu { position: absolute; height: 2px; width: 104%; background-image: url("../../../assets/bigScreen/img/zuo_xuxian.png"); bottom: -12px; left: -2%; background-size: cover; } } .info { margin-right: 10px; display: flex; align-items: center; .labels { flex-shrink: 0; font-size: 12px; color: rgba(255, 255, 255, 0.6); } .labels1 { flex-shrink: 0; font-size: 12px; // color: rgba(255, 255, 255, 0.6); color:#E6A23C; } .zhuyao { // color: $primary-color; font-size: 15px; } .ciyao { color: rgba(255, 255, 255, 0.8); } .warning { color: #E6A23C; font-size: 15px; } } }}.right_center_wrap { overflow: hidden; width: 100%; height: 250px;}.overflow-y-auto { overflow-y: auto;}.typeRed { color: #fc1a1a;}</style>

后端代码增加如下

/** * 查询所有设备日志列表,用于大屏显示 */ @GetMapping("/listAllDevice") public AjaxResult listAllDevice() { startPage(); List<DeviceLog> list = deviceLogService.selectAllDeviceLogList(); return AjaxResult.success(list); }

间隔时间:

this.$store.state.settings.leftBottomTime

import defaultSettings from '@/settings'const { sideTheme, showSettings, topNav, tagsView, fixedHeader, sidebarLogo, dynamicTitle } = defaultSettingsconst storageSetting = JSON.parse(localStorage.getItem('layout-setting')) || ''const state = { title: '', theme: storageSetting.theme || '#409EFF', sideTheme: storageSetting.sideTheme || sideTheme, showSettings: showSettings, topNav: storageSetting.topNav === undefined ? topNav : storageSetting.topNav, tagsView: storageSetting.tagsView === undefined ? tagsView : storageSetting.tagsView, fixedHeader: storageSetting.fixedHeader === undefined ? fixedHeader : storageSetting.fixedHeader, sidebarLogo: storageSetting.sidebarLogo === undefined ? sidebarLogo : storageSetting.sidebarLogo, dynamicTitle: storageSetting.dynamicTitle === undefined ? dynamicTitle : storageSetting.dynamicTitle, sbtxSwiper: true,//设备提醒轮播 ssyjSwiper:true,//实时预警轮播 isScale:true,//是否进行全局适配 defaultOption: { step: 4.4, // 数值越大速度滚动越快 hoverStop: true, // 是否开启鼠标悬停stop openWatch: true, // 开启数据实时监控刷新dom direction: 1, // 0向下 1向上 2向左 3向右 limitMoveNum: 4, // 开始无缝滚动的数据量 this.dataList.length singleHeight: 0, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1 singleWidth: 0, // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3 waitTime: 3000 // 单步运动停止的时间(默认值1000ms) }, echartsAutoTime:3000,//echarts 图自动请求接口时间 leftBottomTime:3000,//echarts 图自动请求接口时间}const mutations = { CHANGE_SETTING: (state, { key, value }) => { if (state.hasOwnProperty(key)) { state[key] = value } }}const actions = { // 修改布局设置 changeSetting({ commit }, data) { commit('CHANGE_SETTING', data) }, // 设置网页标题 setTitle({ commit }, title) { state.title = title }}export default { namespaced: true, state, mutations, actions}
本文链接地址:https://www.jiuchutong.com/zhishi/277387.html 转载请保留说明!

上一篇:Win11正式版发现新问题:不兼容注册表中带有非 ASCII 字符的应用程序(window10发现威胁怎么办)

下一篇:如何在线网络测速呢?(如何网络测试)

  • 目前进行微博营销过程存在哪些问题?(微博营销以什么作为营销平台,每一个什么都是)

    目前进行微博营销过程存在哪些问题?(微博营销以什么作为营销平台,每一个什么都是)

  • ipad2020屏幕多大尺寸(ipad 2020屏幕尺寸)

    ipad2020屏幕多大尺寸(ipad 2020屏幕尺寸)

  • ios12电池百分比不见了怎么办(ios12电池百分比显示)

    ios12电池百分比不见了怎么办(ios12电池百分比显示)

  • 华为手机所有应用底色都变成黑色怎么办(华为手机所有应用都在九个点)

    华为手机所有应用底色都变成黑色怎么办(华为手机所有应用都在九个点)

  • 300ppi分辨率是多少(300ppi分辨率是多少英寸)

    300ppi分辨率是多少(300ppi分辨率是多少英寸)

  • iphone相机镜面怎么关(iphone 相机 镜面)

    iphone相机镜面怎么关(iphone 相机 镜面)

  • 错误码110509是什么意思(错误码110519)

    错误码110509是什么意思(错误码110519)

  • mic键是什么意思(mp3mic键是什么意思)

    mic键是什么意思(mp3mic键是什么意思)

  • 手机有512g内存吗(手机内存512g的吗)

    手机有512g内存吗(手机内存512g的吗)

  • 华为手表gt2e可以接打电话吗(华为手表GT2e可以接打电话吗)

    华为手表gt2e可以接打电话吗(华为手表GT2e可以接打电话吗)

  • 卸载wps文件会丢失吗(卸载wps文件会丢失文件吗)

    卸载wps文件会丢失吗(卸载wps文件会丢失文件吗)

  • 线型比例因子快捷键(线型比例因子快速计算)

    线型比例因子快捷键(线型比例因子快速计算)

  • 钉钉被对方拉黑是什么表现(钉钉被对方拉黑怎么发消息)

    钉钉被对方拉黑是什么表现(钉钉被对方拉黑怎么发消息)

  • 微信查不到18年之前的账单(微信查不到18年之前的账单怎么办)

    微信查不到18年之前的账单(微信查不到18年之前的账单怎么办)

  • xr和11的膜一样吗(苹果xr的膜和苹果11的膜一样吗)

    xr和11的膜一样吗(苹果xr的膜和苹果11的膜一样吗)

  • iphone8三维触控是什么(苹果8p三维触控)

    iphone8三维触控是什么(苹果8p三维触控)

  • 什么叫一级标题二级标题(什么叫一级标题二级标题三级标题)

    什么叫一级标题二级标题(什么叫一级标题二级标题三级标题)

  • 华为阅读可以卸载吗(华为阅读卸载了会怎么样)

    华为阅读可以卸载吗(华为阅读卸载了会怎么样)

  • 库乐队怎么下载不了(库乐队怎么下载旧版本)

    库乐队怎么下载不了(库乐队怎么下载旧版本)

  • 单反怎么调白平衡(单反怎么调整白平衡)

    单反怎么调白平衡(单反怎么调整白平衡)

  • 陌陌停车金币有什么用(陌陌停车金币能提现吗)

    陌陌停车金币有什么用(陌陌停车金币能提现吗)

  • 快手本地作品被清理了(快手本地作品集里面的作品被误删怎么恢复)

    快手本地作品被清理了(快手本地作品集里面的作品被误删怎么恢复)

  • 货拉拉订单取消退款(货拉拉订单取消规则)

    货拉拉订单取消退款(货拉拉订单取消规则)

  • 扣扣附近的人怎么开启(扣扣附近的人怎么才能解除限制)

    扣扣附近的人怎么开启(扣扣附近的人怎么才能解除限制)

  • 趣步兑换卷轴交易密码怎么获取(趣步卷轴等级)

    趣步兑换卷轴交易密码怎么获取(趣步卷轴等级)

  • visual studio是干嘛的(visual studio做什么用的)

    visual studio是干嘛的(visual studio做什么用的)

  • 苹果7volte在哪里设置(苹果7手机volte哪里开启)

    苹果7volte在哪里设置(苹果7手机volte哪里开启)

  • 快手发布作品为什么别人看不到(快手发布作品为什么没有播放量)

    快手发布作品为什么别人看不到(快手发布作品为什么没有播放量)

  • 手机怎么设置无线路由器?手机设置无线路由器的步骤详解(手机怎么设置无信号)

    手机怎么设置无线路由器?手机设置无线路由器的步骤详解(手机怎么设置无信号)

  • H5页面跳转小程序的三种方式(h5页面跳转小程序不显示按钮)

    H5页面跳转小程序的三种方式(h5页面跳转小程序不显示按钮)

  • patch命令  给文件打补丁(.patch文件)

    patch命令 给文件打补丁(.patch文件)

  • ps橡皮擦怎么擦出白色(ps橡皮擦怎么擦的跟背景色一样)

    ps橡皮擦怎么擦出白色(ps橡皮擦怎么擦的跟背景色一样)

  • java如何指定枚举的行为(java枚举写法)

    java如何指定枚举的行为(java枚举写法)

  • 小规模纳税人开普票要交税吗
  • 个人住房5年后买卖如何交税?
  • 不动产租赁需要预缴增值税吗
  • 补报以前年度收入后当年所得税怎么处理
  • 管理费用福利费和应付职工薪酬福利费区别
  • 销售货物分期付款怎么确认收入
  • 零售行业会计核算方法
  • 非居民企业投资收益
  • 销售费用现金支付
  • 销售边角料计入什么科目
  • 报税时其他收入
  • 收到备付金怎么做分录
  • 发票先收到下个月才付款
  • 委托加工物资贷方
  • 减半征收企业所得税税率
  • 租的办公室要交税么
  • 免税销售额是否计入成本
  • 扣服装费的收入如何交增值税?
  • 企业收到经营外的发票如何做账
  • 计提城建税计入什么科目
  • 计生用品增值税减免税申报明细表怎么填
  • 跨月发票作废怎么红冲
  • 存出资本保证金属于什么科目
  • 可转换债券赎回和回售如何理解
  • 产生的投资收益怎么算
  • 公司餐饮费怎么做账
  • 情人节海报怎么画简单
  • 包装破损导致物品损坏
  • win10商店发生了错误请稍后再试
  • linix unix
  • 购货折让会计分录
  • phppoem
  • 马耳他共和国瓦莱塔福利
  • 【深度学习】目标检测的性能评价指标,mAP_0.5,mAP_0.5,0.95,0.05
  • vue-cli-service权限不够
  • shc命令
  • 劳务公司账务处理流程简易计税
  • 电子税务局已申报的财务报表怎么修改
  • 一般纳税人都是按月申报吗
  • python爬虫入门教程
  • 收到以前年度增值税退税账务处理怎么做账
  • 固定资产折旧方法一经确定不得随意变更
  • sql查询排名前三
  • 记账凭证应具备的基本内容包括
  • 增值税税控系统技术维护费怎么抵扣
  • 单位食堂不对外营业需不需要办理经营许可证
  • 购车贷款分期利率
  • 退去年的销售账务如何处理
  • 开具成品油发票时注意事项是?
  • 营业外收入在汇算清缴里填哪张表
  • 上家失控发票补税补不起
  • 未支付房租怎么做账
  • 永续债利息可以抵税吗
  • 企业的职工福利费
  • 数据库中经常用的函数
  • Win10怎么显示我的电脑
  • linux忘记root密码怎么修改
  • 如何设置自动删除安装包
  • 简述linux系统有什么优点
  • Linux系统安全配置包括
  • linux根文件系统直接解压到硬盘
  • winxp破解登录密码
  • Win10 Mobile Build 14342上手体验视频
  • Win7系统打开D盘文件后怎么没有后退箭头
  • Linux系统中配置网络
  • cocos2d教程
  • css设置最大高度
  • opengl glu
  • jQuery插件安装教程
  • mac安装android
  • html里id
  • 菜鸟 安卓
  • js表单序列化
  • npm安装淘宝镜像操作方式
  • 安卓环境搭建id怎么设置
  • jquery动态添加html代码
  • 税务稽查操作规范
  • 上饶市税务局咨询电话
  • 深圳国税咨询电话是多少
  • 对外销售产品
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号