一、运用场景:VUE开发的项目中需要表格滚动展示信息

二、组件:vue-seamless-scroll

三、使用:通过ul标签+css样式模拟表格,表头+表数据

安装

npm install vue-seamless-scroll --save

在main.js中引入

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

在.vue页面中使用

<div class="tableBox"><p class="tableHeader"><span>等级</span><span>名称</span></p><vue-seamless-scroll :data="warningData" :class-option="optionHover"><ul class="waringBox"><li v-for="item in warningData" :key="item.alarmId"><span>{{ item.alarmLevel }}</span><span :title="item.alarmName">{{ item.alarmName }}</span></li></ul></vue-seamless-scroll>
</div>

在实际运用中,一般会加上点击事件,会出现点击失效的问题。
那么,需要在上面的基础上,最外层加上点击事件,在span中绑定data数据。

<div class="tableBox" @click="goDetail($event)"><p class="tableHeader"><span>等级</span><span>名称</span></p><vue-seamless-scroll :data="warningData" :class-option="optionHover"><ul class="waringBox"><li v-for="item in warningData" :key="item.alarmId"><span>{{ item.alarmLevel }}</span><span :data-obj="JSON.stringify(item.alarmId)" :title="item.alarmName">{{ item.alarmName }}</span></li></ul></vue-seamless-scroll>
</div>
<script>
export default {name: "ScrollTable",data() {warningData: [{ alarmId: 1, alarmLevel: "紧急", alarmName: "告警一"},{ alarmId: 2, alarmLevel: "紧急", alarmName: "告警二"},{ alarmId: 3, alarmLevel: "一般", alarmName: "告警3"},{ alarmId: 4, alarmLevel: "严重", alarmName: "告警4"},{ alarmId: 5, alarmLevel: "提示", alarmName: "告警5"},{ alarmId: 6, alarmLevel: "其它", alarmName: "告警6"},{ alarmId: 7, alarmLevel: "提示", alarmName: "告警7"},{ alarmId: 8, alarmLevel: "其它", alarmName: "告警8"}]},computed: {// 表格滚动效果;optionHover() {return {step: 0.4, // 0.5 数值越大速度滚动越快limitMoveNum: 2, // 开始无缝滚动的数据量 this.dataList.lengthhoverStop: true, // 是否开启鼠标悬停stopdirection: 1, // 0向下 1向上 2向左 3向右openWatch: true, // 开启数据实时监控刷新domsingleHeight: 0, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1singleWidth: 0, // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3waitTime: 1000, // 单步运动停止的时间(默认值1000ms)};},},methods: {goDetail(e) {//打印出来的e.target就是点击的span元素//拿到span元素身上的自定义属性obj , obj本身是字符串, JSON.parse转成对象let alarmId = JSON.parse(e.target.dataset.obj);console.log(alarmId); // 打印 alarmId},}
}
<style lang="sass" scoped>
.tableBox{width: 200px;height: 300px;overflow: hidden;border-radius: 6px;border: 1px solid #e8e8e8;.tableHeader{position: relative;z-index: 10;display: flex;color: #333;margin: 0;padding: 6px;background: #e7e7e7;span{display: inline-block;text-align: center;}span:nth-child(1){width: 48px;}span:nth-child(2){flex: 1;}}ul.waringBox{margin-bottom: 0;li{display: flex;margin-bottom: 0;padding: 2px;border-top: 1px solid #e8e8e8;span{display: inline-block;text-align: center;}span:nth-child(1){width: 44px;}span:nth-child(2){flex: 1;cursor: pointer;white-space: nowrap; //强制文本在一行内输出overflow: hidden; //隐藏溢出部分text-overflow: ellipsis; //对溢出部分加上...}}}
}
</style>

Vue【vue-seamless-scroll】滚动组件及注意事项相关推荐

  1. vue 自定义marquee无缝滚动组件

    今天介绍一下,上下,左右无缝滚动的公告栏信息组件的开发. 首先上效果: 看起来有点卡顿,实际上还是挺顺畅的... 代码: 左右滚动的组件:marqueeX <template><di ...

  2. vue 自定义marquee无缝滚动组件

    首先上效果: 看起来有点卡顿,实际上还是挺顺畅的... 代码: 左右滚动的组件:marqueeX <template><div class="my-outbox" ...

  3. php jsonp实例 mip无限滚动组件接口注意事项

    在改造mip的过程中,很多同学遇到这样一个问题.mip无限滚动问题 异步请求数据接口(仅支持 JSONP 请求) 异步请求接口需要规范 callback 为 'callback' 那么什么是JSONP ...

  4. 基于vue的无缝滚动组件

    vue-seamless-scroll A simple, Seamless scrolling for Vue.js 在awesome上一直没有发现vue的无缝滚动组件,在工作之余写了个组件,分享出 ...

  5. vue自动滚动组件 可以支持鼠标滚轮操作

    vue自动滚动组件 可以支持鼠标滚轮操作 <!-- *@AutoScrollList *@author GYY *@date 2022/7/20 11:22 --> <templat ...

  6. vue 文字上下循环滚动_基于 Vue 无缝滚动组件Vue-Seamless-Scroll

    今天给小伙伴们推荐一款超棒的Vue无缝滚动组件VueSeamlessScroll. vue-seamless-scroll 基于 vue.js 构建的简单实用的无缝滚动组件.满足丰富的配置需求,支持上 ...

  7. 移动端cube界面设计html,滴滴开源基于 Vue.js 的移动端组件库 cube-ui

    原标题:滴滴开源基于 Vue.js 的移动端组件库 cube-ui 开源最前线(ID:OpenSourceTop) 猿妹 整编 综合自:https://didi.github.io/cube-ui/ ...

  8. 【分享】Vue 资源典藏(UI组件、开发框架、服务端、辅助工具、应用实例、Demo示例)...

    Vue 资源典藏,包括:UI组件 开发框架 服务端 辅助工具 应用实例 Demo示例 element ★11612 - 饿了么出品的Vue2的web UI工具套件 Vux ★7503 - 基于Vue和 ...

  9. vue 实现 web端滚动刷新 自定义指令

    vue 实现 web端滚动刷新 想实现web端的滚动刷新,我们需要判断滚动已经到达最低部,利用addEventListener监听滚动高度,触发相应的回调函数,激发加载更多数据,那么我们该怎样计算滚动 ...

最新文章

  1. Squid处理web数据请求
  2. 知识图谱能否成为企业下一代的数据仓库
  3. java static null,我们可以在Java中使用null对象调用静态方法吗?如果是这样,怎么样?...
  4. 关于ajax里面嵌套ajax
  5. (chap4 IP协议) IP协议
  6. 浏览器无法显示某些网页或者提示脚本错误的问题解决
  7. linux--exec函数族浅析
  8. 中国天然玉米黄质市场趋势报告、技术动态创新及市场预测
  9. 长沙 · 中国1024程序员节盛况空前,500 万程序员线上线下引爆星城
  10. WinForm两点注意的地方
  11. RocketMQ(十五) RocketMQ如何保证消息的可靠性?
  12. (黑苹果efi文件)B550-I Ryzen 9 5950X RX 5700 XT 黑苹果efi引导文件
  13. 计算机技术工种技师,技师10个职业(工种)国家职业标准要求申报条件
  14. win7计算机锁频图片怎么设置,Win7电脑锁屏壁纸怎么设置?Win7系统设置锁屏壁纸的方法...
  15. [LaTex] 如何插入多个图片及子图片(subfigure)
  16. mysql免安装 默认密码_mysql5.17免安装的初始密码和重新设置密码
  17. 企业金融App评测系列——微众银行以App构筑企业金融服务新生态,成为企业的随身数字银行
  18. 红帽 RHCSA笔记
  19. WPF翻牌连连看(一)
  20. 怎么获取apk的包名??

热门文章

  1. 教育技术(Educational technology)学习分析和教育数据挖掘领域的SCI、SSCI、CSSCI期刊与会议
  2. NumPy 快速入门系列:应用统计学基础概念、相关统计指标与NumPy的实现
  3. JavaScript补齐指定位数
  4. elasticsearch性能测试工具rally深入详解
  5. obj文件格式与.mtl文件格式
  6. 自我评价范文计算机专业,计算机专业学习的自我评价范文
  7. (三)零基础入门C语言 --- C语言之入门课程
  8. NGINX源码之:listen和server_name命令与listening监听创建
  9. 单片机两大延时方法总结
  10. 对成功的渴望和恐惧——谈心理学中的“瓦伦达效应”和“约拿情结”