Skip to content

FxScrollbar 滚动条

用于替换浏览器原生滚动条。不依赖任何 UI 框架,自定义滚动条 + thumb 拖拽。

基础用法

height 属性设置滚动条高度;若不设,则根据父容器高度自适应。

横向滚动

当元素宽度大于滚动条宽度时显示横向滚动条。

最大高度

仅当元素高度超过最大高度时才显示滚动条。

手动滚动

setScrollTopsetScrollLeft 方法手动控制滚动位置。

无限滚动(end-reached)

end-reached 在滚动到底部时触发,可用于无限滚动加载。

API

Attributes

属性说明类型默认值
height滚动条高度string / number
max-height滚动条最大高度string / number
native是否使用原生滚动条booleanfalse
wrap-stylewrap 容器样式string / CSSProperties
wrap-classwrap 容器类名string
view-styleview 样式string / CSSProperties
view-classview 类名string
noresize容器尺寸不变时设置以优化性能(不监听 resize)booleanfalse
tagview 的元素标签stringdiv
always始终显示滚动条booleanfalse
min-size滚动条最小尺寸number20
idview 的 idstring
roleview 的 rolestring
aria-labelview 的 aria-labelstring
aria-orientationview 的 aria-orientation'horizontal' | 'vertical'
tabindexwrap 的 tabindexnumber / string
distance触发 end-reached 的距离(px)number0

Events

事件名说明类型
scroll滚动时触发({ scrollLeft: number, scrollTop: number }) => void
end-reached滚动到达边界时触发(direction: 'top' | 'bottom' | 'left' | 'right') => void

Slots

插槽名说明
default自定义默认内容

Exposes

名称说明类型
handleScroll处理滚动事件() => void
scrollTo滚动到指定坐标(options: ScrollToOptions | number, yCoord?: number) => void
setScrollTop设置垂直滚动距离(scrollTop: number) => void
setScrollLeft设置水平滚动距离(scrollLeft: number) => void
update手动更新滚动条状态() => void
wrapRef滚动容器 wrap 的 refRef<HTMLDivElement>