Affix 图钉

概述

使用图钉,可以将内容固定在屏幕上,并且不随页面的滚动而滚动。常用于侧边菜单等。

代码示例

Affix 图钉 - 图1

基础用法

简单使用,当元素不可见时,直接固定在最顶端。

  1. <template>
  2. <Affix>
  3. <span class="demo-affix">Fixed at the top</span>
  4. </Affix>
  5. </template>
  6. <script>
  7. export default {
  8. }
  9. </script>

Affix 图钉 - 图2

偏移

当滚动到一定距离时再固定。

  1. <template>
  2. <Affix :offset-top="50">
  3. <span class="demo-affix">Fixed at the top 50px from the top</span>
  4. </Affix>
  5. </template>
  6. <script>
  7. export default {
  8. }
  9. </script>

Affix 图钉 - 图3

固定在底部

在屏幕下方固定,可以通过缩小浏览器窗口高度来查看效果。

注意,offset-topoffset-bottom只可以设置一个,如果都设置,会使用offset-top

  1. <template>
  2. <Affix :offset-bottom="20">
  3. <span class="demo-affix">Fix at the bottom 20px</span>
  4. </Affix>
  5. </template>
  6. <script>
  7. export default {
  8. }
  9. </script>

Affix 图钉 - 图4

固定状态改变时的回调

当固定状态发生改变时,会触发事件。

  1. <template>
  2. <Affix :offset-top="100" @on-change="change">
  3. <span class="demo-affix">Fix the position at the top of 100px at the top</span>
  4. </Affix>
  5. </template>
  6. <script>
  7. export default {
  8. methods: {
  9. change (status) {
  10. this.$Message.info(`Status: ${status}`);
  11. }
  12. }
  13. }
  14. </script>

API

Affix props

属性说明类型默认值
offset-top距离窗口顶部达到指定偏移量后触发Number0
offset-bottom距离窗口底部达到指定偏移量后触发Number-

Affix events

事件名说明返回值
on-change在固定状态发生改变时触发true | false