Button 按钮

February 27, 2026 · View on GitHub

封装 Element Plus 按钮,支持权限控制、多种类型和预设图标。

引入

import { AButton } from '@airpower/web'

Props

参数说明类型默认值必填
permission权限标识,无权限时禁用按钮stringundefined
link是否是链接按钮booleanfalse
primary是否是主按钮booleanfalse
danger是否是危险按钮booleanfalse
warning是否是警告按钮booleanfalse
success是否是成功按钮booleanfalse
disabled是否禁用按钮,如不禁用且传入 permission 则按权限判断booleanfalse
icon图标,支持预设图标类型ButtonIcon''

ButtonIcon 类型

type ButtonIcon = 
  | 'ADD' | 'CLOCK' | 'EDIT' | 'DELETE' | 'COPY' 
  | 'SETTING' | 'IMPORT' | 'EXPORT' | 'UPLOAD' 
  | 'CHECK' | 'FILTER'

Emits

无(通过 $attrs 透传给 ElButton/ElLink)

Slots

插槽名说明作用域参数
default按钮内容-

示例

<template>
  <!-- 普通按钮 -->
  <AButton primary @click="handleClick">
    确定
  </AButton>

  <!-- 链接按钮 -->
  <AButton link @click="handleClick">
    查看详情
  </AButton>

  <!-- 带图标的按钮 -->
  <AButton primary icon="ADD">
    添加
  </AButton>

  <!-- 带权限控制的按钮 -->
  <AButton primary permission="user:add">
    添加用户
  </AButton>

  <!-- 危险按钮 -->
  <AButton danger icon="DELETE">
    删除
  </AButton>
</template>

注意事项

  • 组件会自动根据 permission 和当前用户权限判断是否禁用按钮
  • 如无权限会在控制台输出警告信息
  • 支持所有 Element Plus Button/Link 的原生属性和事件(通过 $attrs 透传)
  • 预设图标会自动映射到 Element Plus 的图标组件