资讯专栏INFORMATION COLUMN

Vue的自定义滚动,我用el-scrollbar

qylost / 3499人阅读

摘要:弄了一个持续更新的笔记,可以去看看,诚意之作本来就是写给自己看的链接地址此篇文章的地址的自定义滚动,我用基础笔记的地址可以也可以。大家总会见过不少滚动条比较优雅的实现,不可否认,美是让人愉悦的。

弄了一个持续更新的github笔记,可以去看看,诚意之作(本来就是写给自己看的……)链接地址:Front-End-Basics

此篇文章的地址:Vue的自定义滚动,我用el-scrollbar

基础笔记的github地址:https://github.com/qiqihaobenben/Front-End-Basics ,可以watch,也可以star。

正文开始…… 为什么要用el-scrollbar?

最近在写一个内部平台系统,相信大家都知道,其中会有很多自定义的滚动区域,就比如说现在有一个列表需要滚动,第一个念头就是用 overflow: scroll; 啊!嗯嗯,又不是不能用!如果我不曾见过太阳,我本可以忍受黑暗。

大家总会见过不少滚动条比较优雅的实现,不可否认,美是让人愉悦的。所以这些年行走江湖我满怀愧疚,让大家见丑了。

为什么要用el-scrollbar,大家都知道,模拟一个滚动不难,而且市面上有很多这样的库。我考虑的,首先项目用的框架是Vue,然后用的组件库是Element,Element官网也有很多滚动,而且像是Select组件的下拉框也是有滚动的,所以就不用想选择什么了,简简单单的就用Element自己的scrollbar吧,也不用再引入什么别的包或者文件之类的。

看Element的官网是不可能发现Scrollbar这个组件的,没有使用文档,但是可以直接使用。

为什么要写这一篇文章?

第一,有段时间没写东西了,先热热手;

第二,真的有同学不知道怎么用,可能主要是没有文档吧~

先来看看它的样子。

看了效果,接着来看一下怎么找到这个组件,官方没有提供文档,但确实是直接可用的一个组件。为什么这么说,这个一会再聊。先稍微看一下Element项目一些基本的概念。

在Element的贡献指南里说了开发环境搭建和打包代码的指令。打包代码用 npm run dist ,我们去package.json中可以看到这个指令具体的操作。

我们简单看一下build/webpack.conf.js这个文件,会发现打包的文件入口是./src/index.js,我们再去看一下这个文件。里面内容除了包含给vue安装插件,原型上挂载对象之类的操作外,就是用插件的方式把Element组件给注册完成,当然也暴露出用安装包方式安装后要用的所有方法和属性。其实我们已经看到了Scrollbar的身影。再循着去看一下packages/scrollbar/index.js"这个文件,简单的把这个组件引入后,添加了一个install方法,提供给Vue的use方法使用,然后就直接export出来了。

src/main.js这个文件,看一下组件接收的props:

native属性:如果为true就不显示el的bar,也就是el模拟出来的滚动条,如果为false就显示模拟的滚动条

关于tag这个属性,可以看一下el的Select组件中的应用。

画个图表示一下view和wrap这两个区域的区别:

尝试用一下

展示的链接:el-scrollbar试用

考虑到有些同学有时会打不开上面的链接,把代码贴出来。

HTML



list:

{{value}}
CSS @import url("//unpkg.com/element-ui@2.3.9/lib/theme-chalk/index.css"); #app { height: 300px; overflow: hidden; } /*展示列表的区域,超过200px出现滚动条*/ .list { max-height: 200px; } JavaScript new Vue({ el: "#app", data: { num: 30 } })

Element UI官方说不准什么时候就更新文档了,不过,真的可能是因为太简单了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/107789.html

相关文章

  • Vue的自定义滚动我用el-scrollbar

    摘要:弄了一个持续更新的笔记,可以去看看,诚意之作本来就是写给自己看的链接地址此篇文章的地址的自定义滚动,我用基础笔记的地址可以也可以。大家总会见过不少滚动条比较优雅的实现,不可否认,美是让人愉悦的。 弄了一个持续更新的github笔记,可以去看看,诚意之作(本来就是写给自己看的……)链接地址:Front-End-Basics 此篇文章的地址:Vue的自定义滚动,我用el-scrollb...

    enrecul101 评论0 收藏0
  • 浏览器滚动条优化

    摘要:系统中火狐浏览器滚动条很粗,且颜色在很多场景很辣眼睛,并不适用,现提供以下几种方式,对滚动条进行优化直接隐藏法体验最差火狐谷歌引用第三方插件有弊端相关插件推荐自带的,但是没有在文档中写出由于引用第三方插件后,在中浏览器自动又 windows系统中火狐浏览器滚动条很粗,且颜色在很多场景很辣眼睛,并不适用,现提供以下几种方式,对滚动条进行优化: 1.直接隐藏法(体验最差) // 火狐64+...

    GitCafe 评论0 收藏0
  • 分享一个功能强大的vue.js拖拽组件

    摘要:介绍这是一个功能强大的可拖拽的组件。它可以自动滚动,锁定坐标系。支持拖拽时,流畅的动画效果。可以支持水平,垂直或者网格的拖拽。 介绍 vue-slicksort -- 这是一个功能强大的可拖拽的vue.js组件。 它可以自动滚动,锁定坐标系。支持拖拽时,流畅的动画效果。可以支持水平,垂直或者网格的拖拽。支持触摸。 DEMO showImg(https://segmentfault.co...

    stefan 评论0 收藏0
  • mpvue的自定义组件中运行$emit函数时输入框光标抖动的解决办法

    摘要:记录一个中遇到的问题遇到问题在中运行时输入框的光标抖动。光标闪烁这个问题一般可以用官网推荐的方法修饰符解决,但是在此情况尝试无效。解决办法于是我用想象力,没错是想象力。 记录一个mpvue中遇到的问题 遇到问题 //css //vue export default { data() { return { value: } },...

    tangr206 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<