Scrollbar 滚动条
用于替代浏览器原生滚动条。
基础用法
使用 height 设置滚动区域高度;不传则按父容器高度自适应。
横向滚动
当内容宽度超过滚动容器宽度时出现横向滚动条。
最大高度
仅当内容高度超过 max-height 时出现纵向滚动条。
手动滚动
可调用 setScrollTop、setScrollLeft 方法程序化控制滚动位置。
无限滚动
滚动到底部时触发 end-reached,可用于无限加载。
滚动条 API
滚动条 属性
| 名称 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| height | 滚动区域高度 | string / number | — |
| max-height | 最大高度 | string / number | — |
| native | 是否使用原生滚动条样式 | boolean | false |
| wrap-style | 外层包裹样式 | string / object | — |
| wrap-class | 外层包裹 class | string | — |
| view-style | 视图区域样式 | string / object | — |
| view-class | 视图区域 class | string | — |
| noresize | 不监听容器尺寸变化;容器尺寸不变时建议开启以优化性能 | boolean | false |
| tag | 视图根元素标签 | string | div |
| always | 是否始终显示滚动条 | boolean | false |
| min-size | 滚动条滑块最小尺寸 | number | 20 |
| id | 视图元素 id | string | — |
| role a11y | 视图 role | string | — |
| aria-label a11y | 视图 aria-label | string | — |
| aria-orientation a11y | 视图 aria-orientation | enum | — |
| tabindex | 外层包裹容器 tabindex | number / string | — |
| distance | 触发 end-reached 的距离阈值(像素) | number | 0 |
滚动条 事件
| 事件名 | 说明 | 类型 |
|---|---|---|
| scroll | 滚动时触发,参数含 scrollLeft、scrollTop | Function |
| end-reached | 滚动到达边缘时触发 | Function |
滚动条 插槽
| 名称 | 说明 |
|---|---|
| default | 默认内容 |
滚动条 方法
| 名称 | 说明 | 类型 |
|---|---|---|
| handleScroll | 处理滚动事件 | Function |
| scrollTo | 滚动到指定坐标 | Function |
| setScrollTop | 设置纵向滚动距离 | Function |
| setScrollLeft | 设置横向滚动距离 | Function |
| update | 手动更新滚动条状态 | Function |
| wrapRef | 外层包裹 DOM 引用 | object |