BackTop 回到顶部

介绍

返回页面顶部的操作按钮。

引入

通过以下方式来全局注册组件,更多注册方式请参考组件注册

  1. import { createApp } from 'vue';
  2. import { BackTop } from 'vant';
  3. const app = createApp();
  4. app.use(BackTop);

代码演示

基础用法

请滚动示例页面来查看右下角的返回顶部按钮。

  1. <van-cell v-for="item in list" :key="item" :title="item" /> <van-back-top />
  1. export default {
  2. setup() {
  3. const list = [...Array(50).keys()];
  4. return { list };
  5. },
  6. };

自定义位置

通过 rightbottom 属性来设置组件距离右侧和底部的位置。

  1. <van-cell v-for="item in list" :key="item" :title="item" />
  2. <van-back-top right="15vw" bottom="10vh" />
  1. export default {
  2. setup() {
  3. const list = [...Array(50).keys()];
  4. return { list };
  5. },
  6. };

自定义内容

使用默认插槽来自定义组件展示的内容。

  1. <van-cell v-for="item in list" :key="item" :title="item" />
  2. <van-back-top class="custom">返回顶部</van-back-top>
  3. <style>
  4. .custom {
  5. width: 80px;
  6. font-size: 14px;
  7. text-align: center;
  8. }
  9. </style>
  1. export default {
  2. setup() {
  3. const list = [...Array(50).keys()];
  4. return { list };
  5. },
  6. };

设置滚动目标

可以通过 target 属性来设置触发滚动的目标对象,支持传入选择器或 HTMLElement

  1. <div class="container">
  2. <van-cell v-for="item in list" :key="item" :title="item" />
  3. <van-back-top target=".container" bottom="30vh" />
  4. </div>
  5. <style>
  6. .container {
  7. height: 60vh;
  8. overflow: auto;
  9. }
  10. </style>
  1. export default {
  2. setup() {
  3. const list = [...Array(50).keys()];
  4. return { list };
  5. },
  6. };

API

Props

参数说明类型默认值
target触发滚动的目标对象,支持传入选择器或 DOM 元素string | HTMLElement-
right距离页面右侧的距离,默认单位为 pxnumber | string30
bottom距离页面底部的距离,默认单位为 pxnumber | string40
offset滚动高度达到此参数值时才显示组件number200
teleport指定挂载的节点,等同于 Teleport 组件的 to 属性string | Elementbody

Slots

名称说明
default自定义按钮显示内容

类型定义

组件导出以下类型定义:

  1. import type { BackTopProps, BackTopThemeVars } from 'vant';

主题定制

样式变量

组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件

名称默认值描述
—van-back-top-size40px-
—van-back-top-icon-size20px-
—van-back-top-right30px-
—van-back-top-bottom40px-
—van-back-top-text-color#fff-
—van-back-top-backgroundvar(—van-blue)-

BackTop 回到顶部 - 图1