Affix 固钉
将页面元素钉在可视范围内
何时使用
- 需要让页面元素在滚动时固定在可视范围内时。
- 需要固定到顶部或底部指定偏移量时。
- 需要监听固定状态变化时。
导入
基础用法
最简单的用法,距离窗口顶部达到指定偏移量后触发固定。
更多示例
固定在底部
距离窗口底部达到指定偏移量后触发固定。
固定状态改变的回调
可以获得是否固定的状态。
滚动容器
用 target 设置 Affix 需要监听其滚动事件的元素,默认为 window。
API
Affix Props
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| offsetTop | 距离窗口顶部达到指定偏移量后触发 | number | 0 |
| offsetBottom | 距离窗口底部达到指定偏移量后触发 | number | - |
| target | 设置 Affix 需要监听其滚动事件的元素 | () => Window | HTMLElement | null | () => window |
| class | 自定义类名 | string | - |
| style | 自定义样式 | CSSProperties | - |
Affix Events
| 事件 | 说明 | 回调参数 |
|---|---|---|
| change | 固定状态改变时触发的回调 | (affixed: boolean) => void |
Affix Slots
| 插槽 | 说明 |
|---|---|
| default | 需要固定的内容 |
注意事项
- Affix 内的元素不要使用绝对定位,如需要绝对定位的效果,可以直接设置 Affix 为绝对定位。
- 一般只适用于单向滚动的区域,只支持在垂直滚动容器中使用。
- 组件在固钉时会自动生成占位元素,保持原有文档流位置不塌陷。
