vue实现列表自动滚动效果

1.下载插件

npm install vue-seamless-scroll --save

 2.在main.js中引入注册

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

3.在页面中使用(写一个固定的表头 el-table:show-header="status" 设置为false,自带的表头不显示)

 <div class="table-box">
       //静态表头
      <div class="toptitle">
        <div class="item">序号</div>
        <div class="item">检测点</div>
        <div class="item">时间</div>
        <div class="item">识别项</div>
        <div class="item">结果</div>
      </div>
       //滚动组件
      <vue-seamless-scroll :data="tableData" :class-option="optionHover" class="seamless-warp">
        <el-table :data="tableData" @row-click="showRowDetail" style="width: 100%"  :show-header="status"
           :row-class-name="tableRowClassName">
          <el-table-column type="index" label="序号" width="50">
          </el-table-column>
          <el-table-column prop="siteName" label="检测点">
            <template slot-scope="scope">
              <span>{
  { scope.row.siteName ? scope.row.siteName : '---' }}</span>
            </template>
          </el-table-column>
          <el-table-column prop="ts" label="时间">
            <template slot-scope="scope">
              <span>{
  { scope.row.ts ? scope.row.ts : '---' }}</span>
            </template>
          </el-table-column>
          <el-table-column prop="fun" label="识别项">
            <template slot-scope="scope">
              <span>{
  { scope.row.fun == "valve" ? '炉门' : scope.row.fun == "rod" ? '摆臂' : '---' }}</span>
            </template>
          </el-table-column>
          <el-table-column prop="err" label="结果">
            <template slot-scope="scope">
              <span>{
  { scope.row.err === 0 ? '正常' : scope.row.err === 1 ? '异常' : '---' }}</span>
            </template>
 </el-table-column>
        </el-table>
      </vue-seamless-scroll>
</div>

4.js配置滚动插件配置对象

 computed: {
    optionHover() {
      return {
        step: 1, // 数值越大速度滚动越快
        limitMoveNum: 2, // 开始无缝滚动的数据量 this.dataList.length
        hoverStop: true, // 是否开启鼠标悬停stop
        direction: 1, // 0向下 1向上 2向左 3向右
        openWatch: true, // 开启数据实时监控刷新dom
        singleHeight: 20, // 单步运动停止的高度(默认值0是无缝不停止的滚动) direction => 0/1
        singleWidth: 0, // 单步运动停止的宽度(默认值0是无缝不停止的滚动) direction => 2/3
        waitTime: 1000, // 单步运动停止的时间(默认值1000ms)
      };
    },
  }

5.样式

<style lang="scss" scoped>
.right-box {
  height: 36%;
 
  .table-box {
    height: 85.2%;
    background: #051f51;
  }
 
}
 
.seamless-warp {
  height: 200px;
  overflow: hidden;
 
}
 
</style>

相关推荐

  1. vue实现列表自动滚动效果

    2024-02-23 17:00:02       35 阅读
  2. vue大屏-列表自动滚动vue-seamless-scroll

    2024-02-23 17:00:02       39 阅读
  3. VUE +element ui 表格实现数据轮播滚动效果

    2024-02-23 17:00:02       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-23 17:00:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-23 17:00:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-23 17:00:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-23 17:00:02       20 阅读

热门阅读

  1. flink-cdc使用小结

    2024-02-23 17:00:02       27 阅读
  2. 删除文件中的注释(C语言)

    2024-02-23 17:00:02       29 阅读
  3. 【Android 协程常见用法】

    2024-02-23 17:00:02       39 阅读
  4. Jmeter 学习目录(0)

    2024-02-23 17:00:02       32 阅读
  5. PyTorch中保存模型的两种方式

    2024-02-23 17:00:02       26 阅读
  6. Cpython和Jpython区别

    2024-02-23 17:00:02       29 阅读
  7. 中国工业废水处理行业报告

    2024-02-23 17:00:02       24 阅读
  8. Asp.Net web 文件服務快速搭建

    2024-02-23 17:00:02       22 阅读
  9. 【机器学习】机器学习是什么?

    2024-02-23 17:00:02       28 阅读