Vue中使用vue2-perfect-scrollbar制作滚动条

 更新时间:2022年06月09日 09:15:13   作者:~疆  
这篇文章主要介绍了Vue中使用vue2-perfect-scrollbar滚动条,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

官方地址:https://github.com/mercs600/vue2-perfect-scrollbar

下载:

cnpm i -S vue2-perfect-scrollbar

main.js中引用:

import PerfectScrollbar from 'vue2-perfect-scrollbar'
import 'vue2-perfect-scrollbar/dist/vue2-perfect-scrollbar.css'
Vue.use(PerfectScrollbar)

使用:

<template>
  <div class="aside">
    <div class="aside-header">
      <img
        src="https://lj-common.oss-cn-chengdu.aliyuncs.com/vue.png"
        style="width: 30px; height: 30px"
      />
      <span
        style="
          font-size: 20px;
          font-weight: 600;
          color: white;
          margin-left: 10px;
        "
        >xxx</span
      >
    </div>
    <div class="aside-menu">
      <perfect-scrollbar @ps-scroll-y="onScroll" ref="scrollbar">
        <el-menu
          default-active="1"
          class="el-menu-vertical-demo"
          background-color="#191A23"
          text-color="#fff"
          active-text-color="white"
        >
          <el-menu-item index="1" @click="$router.push({ path: '/download' })">
            <span slot="title">demo</span>
          </el-menu-item>
 
          <el-menu-item index="3"> <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span>
          </el-menu-item>
          <el-menu-item index="3"> <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span> </el-menu-item
          ><el-menu-item index="3">
            <span slot="title">test</span>
          </el-menu-item>
          <el-menu-item index="2" @click="$router.push({ path: '/test' })">
            <span slot="title">test1</span>
          </el-menu-item>
        </el-menu>
      </perfect-scrollbar>
    </div>
  </div>
</template>
<script>
export default {
  data() {
    return {};
  },
  methods: {
    onScroll(event) {
      console.log(this.$refs.scrollbar.ps, event);
    },
  },
  watch: {
    //路由改变时,滚动条回到顶部
    $route() {
      this.$refs.scrollbar.$el.scrollTop = 0;
    },
  },
};
</script>
 
 
<style lang='scss' scoped>
.aside {
  height: 100vh;
  .aside-header {
    height: 60px;
    background-color: #545c64;
    line-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .aside-menu {
    height: calc(100vh - 60px);
    background-color: #0b6dd0;
    //展开时宽度
    .el-menu-vertical-demo:not(.el-menu--collapse) {
      width: 256px;
    }
    .el-menu {
      height: 100%;
      border: 0 !important; //垂直时,去除右侧白边
    }
    //perfect-scrollbar默认的类名。自定义滚动条内容区域高度
    .ps {
      height: 100%;
    }
  }
}
</style>

到此这篇关于Vue中使用vue2-perfect-scrollbar滚动条的文章就介绍到这了,更多相关vue2-perfect-scrollbar滚动条内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue中如何给el-table-column添加指定列的点击事件

    vue中如何给el-table-column添加指定列的点击事件

    elementui中提供了点击行处理事件,下面这篇文章主要给大家介绍了关于vue中如何给el-table-column添加指定列的点击事件,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • TypeScript基本类型 typeof 和keyof案例详解

    TypeScript基本类型 typeof 和keyof案例详解

    这篇文章主要介绍了TypeScript基本类型 typeof 和keyof案例详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-10-10
  • vue实现右键菜单栏

    vue实现右键菜单栏

    这篇文章主要为大家详细介绍了vue实现右键菜单栏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • vite打包拆分js和css的配置指南

    vite打包拆分js和css的配置指南

    这篇文章主要给大家介绍了关于vite打包拆分js和css的配置指南,Vite是一个非常快速的工具,它可以帮助你打包JavaScript文件,需要的朋友可以参考下
    2023-09-09
  • Vue组件解析之如何自定义弹窗组件ByDialog

    Vue组件解析之如何自定义弹窗组件ByDialog

    这篇文章主要介绍了Vue组件解析之如何自定义弹窗组件ByDialog问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • vue3如何通过ref获取元素离顶部的距离

    vue3如何通过ref获取元素离顶部的距离

    这篇文章主要给大家介绍了关于vue3如何通过ref获取元素离顶部的距离,文中通过代码以及图文介绍的非常详细,对大家学习或者使用vue3具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-10-10
  • vant toast 关闭栈溢出问题及解决

    vant toast 关闭栈溢出问题及解决

    这篇文章主要介绍了vant toast 关闭栈溢出问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • echarts.js 动态生成多个图表 使用vue封装组件操作

    echarts.js 动态生成多个图表 使用vue封装组件操作

    这篇文章主要介绍了echarts.js 动态生成多个图表 使用vue封装组件操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Vue两种组件类型:递归组件和动态组件的用法

    Vue两种组件类型:递归组件和动态组件的用法

    这篇文章主要介绍了Vue两种组件类型:递归组件和动态组件的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • 详解如何将 Vue-cli 改造成支持多页面的 history 模式

    详解如何将 Vue-cli 改造成支持多页面的 history 模式

    本篇文章主要介绍了详解如何将 Vue-cli 改造成支持多页面的 history 模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11

最新评论