ActionBar 动作栏

介绍

用于为页面相关操作提供便捷交互。

引入

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

  1. import { createApp } from 'vue';
  2. import { ActionBar, ActionBarIcon, ActionBarButton } from 'vant';
  3. const app = createApp();
  4. app.use(ActionBar);
  5. app.use(ActionBarIcon);
  6. app.use(ActionBarButton);

代码演示

基础用法

  1. <van-action-bar>
  2. <van-action-bar-icon icon="chat-o" text="客服" @click="onClickIcon" />
  3. <van-action-bar-icon icon="cart-o" text="购物车" @click="onClickIcon" />
  4. <van-action-bar-icon icon="shop-o" text="店铺" @click="onClickIcon" />
  5. <van-action-bar-button type="danger" text="立即购买" @click="onClickButton" />
  6. </van-action-bar>
  1. import { Toast } from 'vant';
  2. export default {
  3. setup() {
  4. const onClickIcon = () => Toast('点击图标');
  5. const onClickButton = () => Toast('点击按钮');
  6. return {
  7. onClickIcon,
  8. onClickButton,
  9. };
  10. },
  11. };

徽标提示

在 ActionBarIcon 组件上设置 dot 属性后,会在图标右上角展示一个小红点;设置 badge 属性后,会在图标右上角展示相应的徽标。

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

自定义图标颜色

通过 ActionBarIcon 的 color 属性可以自定义图标的颜色。

  1. <van-action-bar>
  2. <van-action-bar-icon icon="chat-o" text="客服" color="#ee0a24" />
  3. <van-action-bar-icon icon="cart-o" text="购物车" />
  4. <van-action-bar-icon icon="star" text="已收藏" color="#ff5000" />
  5. <van-action-bar-button type="warning" text="加入购物车" />
  6. <van-action-bar-button type="danger" text="立即购买" />
  7. </van-action-bar>

自定义按钮颜色

通过 ActionBarButton 的 color 属性可以自定义按钮的颜色,支持传入 linear-gradient 渐变色。

  1. <van-action-bar>
  2. <van-action-bar-icon icon="chat-o" text="客服" />
  3. <van-action-bar-icon icon="shop-o" text="店铺" />
  4. <van-action-bar-button color="#be99ff" type="warning" text="加入购物车" />
  5. <van-action-bar-button color="#7232dd" type="danger" text="立即购买" />
  6. </van-action-bar>

API

ActionBar Props

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

ActionBarIcon Props

参数说明类型默认值
text按钮文字string-
icon图标string-
color图标颜色string#323233
icon-class图标额外类名string | Array | object-
icon-prefix v3.0.17图标类名前缀,等同于 Icon 组件的 class-prefix 属性stringvan-icon
dot是否显示图标右上角小红点booleanfalse
badge图标右上角徽标的内容number | string-
badge-props v3.2.8自定义徽标的属性,传入的对象会被透传给 Badge 组件的 propsBadgeProps-
url点击后跳转的链接地址string-
to点击后跳转的目标路由对象,等同于 vue-router 的 to 属性string | object-
replace是否在跳转时替换当前页面历史booleanfalse

ActionBarButton Props

参数说明类型默认值
text按钮文字string-
type按钮类型,可选值为 primary info warning dangerstringdefault
color按钮颜色,支持传入 linear-gradient 渐变色string-
icon左侧图标名称或图片链接,等同于 Icon 组件的 name 属性string-
disabled是否禁用按钮booleanfalse
loading是否显示为加载状态booleanfalse
url点击后跳转的链接地址string-
to点击后跳转的目标路由对象,等同于 vue-router 的 to 属性string | object-
replace是否在跳转时替换当前页面历史booleanfalse

ActionBarIcon Slots

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

ActionBarButton Slots

名称说明
default按钮显示内容

类型定义

组件导出以下类型定义:

  1. import type {
  2. ActionBarProps,
  3. ActionBarIconProps,
  4. ActionBarButtonProps,
  5. } from 'vant';

主题定制

样式变量

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

名称默认值描述
—van-action-bar-background-colorvar(—van-background-color-light)-
—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-gray-7)-
—van-action-bar-icon-background-colorvar(—van-background-color-light)-
—van-action-bar-button-height40px-
—van-action-bar-button-warning-colorvar(—van-gradient-orange)-
—van-action-bar-button-danger-colorvar(—van-gradient-red)-

ActionBar 动作栏 - 图1