Skip to content

ActionBar 动作栏 - Vant 4

ActionBar 动作栏

🎯 介绍

动作栏是移动端应用的得力助手!它通常固定在页面底部,为用户提供快捷的操作入口。无论是购物车、收藏、分享,还是立即购买,动作栏都能让用户轻松完成各种操作,大大提升用户体验。

📦 引入

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

js
import { createApp } from 'vue';
import { ActionBar, ActionBarIcon, ActionBarButton } from 'vant';

const app = createApp();
app.use(ActionBar);
app.use(ActionBarIcon);
app.use(ActionBarButton);

🚀 代码演示

基础用法

最简单的动作栏包含图标和按钮。图标通常用于次要操作(如收藏、分享),按钮用于主要操作(如加入购物车、立即购买)。

html
<van-action-bar>
  <van-action-bar-icon icon="chat-o" text="客服" @click="onClickIcon" />
  <van-action-bar-icon icon="cart-o" text="购物车" @click="onClickIcon" />
  <van-action-bar-button type="warning" text="加入购物车" @click="onClickButton" />
  <van-action-bar-button type="danger" text="立即购买" @click="onClickButton" />
</van-action-bar>
js
import { showToast } from 'vant';

export default {
  setup() {
    const onClickIcon = () => showToast('点击图标');
    const onClickButton = () => showToast('点击按钮');

    return {
      onClickIcon,
      onClickButton,
    };
  },
};

徽标提示

想要吸引用户注意?在 ActionBarIcon 组件上设置 dot 属性会在图标右上角展示一个醒目的小红点;设置 badge 属性则可以显示具体的数字或文字,比如购物车商品数量。

html
<van-action-bar>
  <van-action-bar-icon icon="chat-o" text="客服" dot />
  <van-action-bar-icon icon="cart-o" text="购物车" badge="5" />
  <van-action-bar-icon icon="shop-o" text="店铺" badge="12" />
  <van-action-bar-button type="warning" text="加入购物车" />
  <van-action-bar-button type="danger" text="立即购买" />
</van-action-bar>

自定义图标颜色

通过 ActionBarIcon 的 color 属性可以自定义图标的颜色,让你的动作栏更符合品牌色彩。

html
<van-action-bar>
  <van-action-bar-icon icon="chat-o" text="客服" color="#ee0a24" />
  <van-action-bar-icon icon="cart-o" text="购物车" />
  <van-action-bar-button type="warning" text="加入购物车" />
  <van-action-bar-button type="danger" text="立即购买" />
</van-action-bar>

自定义按钮颜色

通过 ActionBarButton 的 color 属性可以自定义按钮的颜色,甚至支持传入 linear-gradient 渐变色,让你的按钮更加炫酷!

API

ActionBar Props

参数说明类型默认值
safe-area-inset-bottom是否开启底部安全区适配booleantrue

| placeholder | 是否在标签位置生成一个等高的占位元素 | boolean | false |

ActionBarIcon Props

参数说明类型默认值
text按钮文字string-
icon图标string-
color图标颜色string#323233

| icon-class | 图标额外类名 | string | Array | object | - | | icon-prefix | 图标类名前缀,等同于 Icon 组件的 class-prefix 属性 | string | van-icon |

| dot | 是否显示图标右上角小红点 | boolean | false | | badge | 图标右上角徽标的内容 | number | string | - | | badge-props | 自定义徽标的属性,传入的对象会被透传给 Badge 组件的 props | BadgeProps | - |

| url | 点击后跳转的链接地址 | string | - | | to | 点击后跳转的目标路由对象,等同于 Vue Router 的 to 属性 | string | object | - |

| replace | 是否在跳转时替换当前页面历史 | boolean | false |

ActionBarButton Props

参数说明类型默认值
text按钮文字string-
type按钮类型,可选值为 default``primary``success``warning``dangerstringdefault
color按钮颜色,支持传入 linear-gradient 渐变色string-
icon左侧图标名称或图片链接,等同于 Icon 组件的 name 属性string-

| disabled | 是否禁用按钮 | boolean | false | | loading | 是否显示为加载状态 | boolean | false | | url | 点击后跳转的链接地址 | string | - | | to | 点击后跳转的目标路由对象,等同于 Vue Router 的 to 属性 | string | object | - |

| replace | 是否在跳转时替换当前页面历史 | boolean | false |

ActionBarIcon Slots

名称说明
default文本内容
icon自定义图标

ActionBarButton Slots

名称说明
default按钮显示内容

类型定义

组件导出以下类型定义:

ts
importtype { ActionBarProps, ActionBarIconProps, ActionBarButtonProps, } from'vant';

主题定制

样式变量

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

名称默认值描述
--van-action-bar-backgroundvar(--van-background-2)-
--van-action-bar-height50px-
--van-action-bar-icon-width48px-
--van-action-bar-icon-height100%-
--van-action-bar-icon-colorvar(--van-text-color)-
--van-action-bar-icon-size18px-
--van-action-bar-icon-font-sizevar(--van-font-size-xs)-
--van-action-bar-icon-active-colorvar(--van-active-color)-
--van-action-bar-icon-text-colorvar(--van-text-color)-
--van-action-bar-icon-backgroundvar(--van-background-2)-
--van-action-bar-button-height40px-
--van-action-bar-button-warning-colorvar(--van-gradient-orange)-
--van-action-bar-button-danger-colorvar(--van-gradient-red)-

🎉 总结

ActionBar 动作栏是移动端应用的黄金搭档!它不仅能提供便捷的操作入口,还能通过徽标提示、自定义颜色等功能,让你的应用更加生动有趣。无论是电商购物、社交分享,还是其他业务场景,ActionBar 都能帮你打造出色的用户体验。

📚 相关内容

想要了解更多?这些内容可能对你有帮助:

基于Vant构建的企业级移动端解决方案