vue如何实现评论滚动效果

 更新时间:2024年12月17日 10:59:18   作者:青艾_XY  
文章介绍了如何使用vue插件实现滚动效果,包括安装组件、组件引入和实现效果的步骤,同时,文章提醒了在从服务器获取数据时,使用nextTick可以解决无法滚动的问题

vue插件实现滚动效果

一、安装组件

官网地址https://chenxuan0000.github.io/vue-seamless-scroll/

1、vue2安装

npm install vue-seamless-scroll --save

vue3安装

npm install vue3-seamless-scroll --save

二、组件引入

<template>
  <div v-if="flagList">
    <vue-seamless-scroll :data="barrageList" class="warp">
      <ul class="item">
        <li v-for="(item, index) in barrageList" :key="index">
          <span class="msg" v-text="item.msg"></span>
          <span class="avatar" v-text="item.avatar"></span>
        </li>
      </ul>
    </vue-seamless-scroll>
  </div>
</template>
<script>
  import vueSeamlessScroll from 'vue-seamless-scroll'

  export default {
    name: 'Example01Basic',
    components: {
      vueSeamlessScroll
    },
    data() {
      return {
        barrageList: [],
        flagList: true
      }
    },
    created() {
      this.getTreeHole();
    },

    method: {
      getTreeHole() {
        this.$http.get(this.$constant.baseURL + "/webInfo/listTreeHole")
          .then((res) => {
            if (!this.$common.isEmpty(res.data)) {
              res.data.forEach(m => {
                this.barrageList.push({
                  id: m.id,
                  avatar: m.avatar,
                  msg: m.message,
                  time: Math.floor(Math.random() * 5 + 10)
                });
              });
              this.flagList = false;
              this.$nextTick(() => {
                this.flagList = true

              })
            }
          })
          .catch((error) => {
            this.$message({
              message: error.message,
              type: "error"
            });
          });
      }
    }
  }
</script>
<style scoped>
  .warp {
    height: 270px;
    width: 360px;
    margin: 0 auto;
    overflow: hidden;
  }

  .warp ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
  }

  .warp ul li,
  .warp ul a {
    display: block;
    height: 30px;
    line-height: 30px;
    display: flex;
    justify-content: space-between;
    font-size: 15px;
  }
</style>

三、实现效果

注意:

从服务器获取数据时,由于数据加载原因导致无法滚动的效果,在获取数据时添加nextTick即可解决。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • element el-table实现多级表头的代码

    element el-table实现多级表头的代码

    多级表头的作用与优势,多级表头能够清晰地展示数据的层次结构,帮助我们更好地理解数据之间的关系,下面通过本文给大家介绍element el-table实现多级表头的代码,感兴趣的朋友跟随小编一起看看吧
    2024-04-04
  • vue中axios的post请求,415错误的问题

    vue中axios的post请求,415错误的问题

    这篇文章主要介绍了vue中axios的post请求,415错误的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)

    VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)

    这篇文章主要介绍了VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新),本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2020-04-04
  • vue+element tree懒加载更新数据的示例代码

    vue+element tree懒加载更新数据的示例代码

    这篇文章主要介绍了vue+element tree懒加载更新数据,文中给大家补充介绍了Vue Element Ui 树形表懒加载新增、修改、删除等操作后局部数据更新的详细代码,感兴趣的朋友跟随小编一起看看吧
    2022-09-09
  • vue点击按钮跳转到另一个vue页面实现方法

    vue点击按钮跳转到另一个vue页面实现方法

    这篇文章主要给大家介绍了关于vue点击按钮跳转到另一个vue页面的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • vue-cli配置环境变量的方法

    vue-cli配置环境变量的方法

    本篇文章主要介绍了vue-cli配置环境变量的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • vue项目中mock.js的使用及基本用法

    vue项目中mock.js的使用及基本用法

    mockjs是用来模拟产生一些虚拟的数据,可以让前端在后端接口还没有开发出来时独立开发。这篇文章主要介绍了vue项目中mock.js的使用,需要的朋友可以参考下
    2019-05-05
  • vue路由跳转打开新窗口(window.open())和关闭窗口(window.close())

    vue路由跳转打开新窗口(window.open())和关闭窗口(window.close())

    这篇文章主要介绍了vue路由跳转打开新窗口(window.open())和关闭窗口(window.close())问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • vue如何引用其他组件(css和js)

    vue如何引用其他组件(css和js)

    本篇文章主要介绍了vue如何引用其他组件(css和js) ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Vue中使用canvas方法总结

    Vue中使用canvas方法总结

    在本篇内容中小编给大家分享了关于Vue中使用canvas方法和步骤,对此有需要的读者们参考学习下。
    2019-02-02

最新评论