如何使用
基础使用
只需要将组件包裹你的需要滚动内容,设置好容器大小,内容将自动允许滚动并设置滚动条(默认垂直滚动)。
TIP
滚动容器撑开父级,因此在未设置高度或者最大高度时,不会出现滚动条,需要设置一个确定的高度。
Long content that can scroll
Hello. This is a simple scroll rect component for Vue3. You can wrap your long content with this component. So it can scroll.
It is easy to use!
It provides a simple scrollbar that can fade out and help you unify the display style of each browser.
It is easy to use!
Long content that can scroll
Hello. This is a simple scroll rect component for Vue3. You can wrap your long content with this component. So it can scroll.
It is easy to use!
It provides a simple scrollbar that can fade out and help you unify the display style of each browser.
It is easy to use!
滚动区域自动撑开
某些时候,你可能希望滚动区域在很小时自动撑开容器,超出指定高度时才开始滚动,则可以设置 maxHeight
或者 maxWidth
属性, 当内容高度超出设置的最大值之后,才开始滚动。
滚动方向
可以通过 scroll
属性设置仅垂直滚动或仅水平滚动,或者二者都滚动。
both
: 水平滚动和垂直滚动vertical
: 垂直滚动horizontal
: 水平滚动none
: 禁止滚动
scroll: both
Hello. This is a simple scroll rect component for Vue3. You can wrap your long content with this component. So it can scroll.
It is easy to use!
It provides a simple scrollbar that can fade out and help you unify the display style of each browser.
It is easy to use!
Long content that can scroll
Hello. This is a simple scroll rect component for Vue3. You can wrap your long content with this component. So it can scroll.
It is easy to use!
It provides a simple scrollbar that can fade out and help you unify the display style of each browser.
It is easy to use!
scroll: vertical
Hello. This is a simple scroll rect component for Vue3. You can wrap your long content with this component. So it can scroll.
It is easy to use!
It provides a simple scrollbar that can fade out and help you unify the display style of each browser.
It is easy to use!
Long content that can scroll
Hello. This is a simple scroll rect component for Vue3. You can wrap your long content with this component. So it can scroll.
It is easy to use!
It provides a simple scrollbar that can fade out and help you unify the display style of each browser.
It is easy to use!
scroll: horizontal
Hello. This is a simple scroll rect component for Vue3. You can wrap your long content with this component. So it can scroll.
It is easy to use!
It provides a simple scrollbar that can fade out and help you unify the display style of each browser.
It is easy to use!
Long content that can scroll
Hello. This is a simple scroll rect component for Vue3. You can wrap your long content with this component. So it can scroll.
It is easy to use!
It provides a simple scrollbar that can fade out and help you unify the display style of each browser.
It is easy to use!
scroll: none
Hello. This is a simple scroll rect component for Vue3. You can wrap your long content with this component. So it can scroll.
It is easy to use!
It provides a simple scrollbar that can fade out and help you unify the display style of each browser.
It is easy to use!
Long content that can scroll
Hello. This is a simple scroll rect component for Vue3. You can wrap your long content with this component. So it can scroll.
It is easy to use!
It provides a simple scrollbar that can fade out and help you unify the display style of each browser.
It is easy to use!
滚动条
滚动条样式
可以通过 css 修改滚动条样式颜色等等,有一些 css 变量可以用于修改滚动条样式。
名字 | 说明 |
---|---|
--vue-scroll-rect-scrollbar-thumb-color | 滚动条滑块的颜色 |
--vue-scroll-rect-scrollbar-thumb-color-light | 滚动条滑块鼠标悬浮时的颜色 |
--vue-scroll-rect-scrollbar-thumb-color-pressed | 滚动条滑块鼠标按下时的颜色 |
--vue-scroll-rect-scrollbar-thumb-radius | 滚动条滑块半径 |
--vue-scroll-rect-scrollbar-thumb-margin | 滚动条左右边距 |
--vue-scroll-rect-scrollbar-size | 滚动条宽度 |
滚动条常显示
滚动条默认是在鼠标移入后渐变显示,你可以设置 scrollBarAlwaysShow
属性为 true
,滚动条将一直显示。
设置 scrollBarBackgroundClickable
属性为 true
,滚动条背景点击区域也可触发滚动。
更换内置的滚动条
如果你希望换掉内置的滚动条,使用自己的滚动条组件,可以通过插槽 scrollBarX
和 scrollBarY
来实现。
插槽会传出当前滚动条滚动位置和计算长度数据 (scrollBarValue
),你可以根据这个百分比来计算滚动条的显示位置;传出 onScroll
回调用于控制滚动。。
scrollBarValue 结构如下:
名字 | 类型 | 类型 |
---|---|---|
show | boolean | 是否显示滚动条 |
size | number | 滚动条计算长度(百分比,0-100) |
sizeRaw | number | 滚动条计算长度(像素) |
pos | number | 滚动条滚动位置(百分比,0-100) |
onScroll 结构如下:
参数 | 类型 |
---|---|
pos | number |
<template>
<ScrollRect class="long-content" scroll="both">
<ScrollContent />
<template #scrollBarY="{ scrollBarValue, onScroll }">
<MyScrollBar :value="scrollBarValue.pos" :size="scrollBarValue.size" @update:value="onScroll" />
</template>
</ScrollRect>
</template>