Skip to content

Button 按钮

按钮用于触发一个操作,如提交表单。

基础用法

基础的按钮用法。

vue
<template>
  <ExButton>默认按钮</ExButton>
  <ExButton type="primary">主要按钮</ExButton>
  <ExButton type="secondary">次要按钮</ExButton>
  <ExButton type="success">成功按钮</ExButton>
  <ExButton type="warning">警告按钮</ExButton>
  <ExButton type="danger">危险按钮</ExButton>
  <ExButton type="info">信息按钮</ExButton>
</template>

朴素按钮

设置 plain 属性可得到朴素按钮:默认以浅色/透明底 + 主题色描边与文字呈现;悬停时填充为对应主题色作为强调。适合在深色界面中作次级操作按钮。

vue
<template>
  <ExButton plain>朴素按钮</ExButton>
  <ExButton type="primary" plain>主要按钮</ExButton>
  <ExButton type="success" plain>成功按钮</ExButton>
  <ExButton type="warning" plain>警告按钮</ExButton>
  <ExButton type="danger" plain>危险按钮</ExButton>
  <ExButton type="info" plain>信息按钮</ExButton>
</template>

圆角按钮

vue
<template>
  <ExButton round>圆角按钮</ExButton>
  <ExButton type="primary" round>主要按钮</ExButton>
  <ExButton type="success" round>成功按钮</ExButton>
  <ExButton type="warning" round>警告按钮</ExButton>
  <ExButton type="danger" round>危险按钮</ExButton>
  <ExButton type="info" round>信息按钮</ExButton>
</template>

圆形按钮

圆形按钮优先显示图标,如果没有图标则显示文字的第一个字符(大写)。

vue
<template>
  <!-- 圆形按钮 - 图标优先显示 -->
  <ExButton circle type="primary">
    <template #prefix>
      <ex-icon icon="star-line" />
    </template>
  </ExButton>
  <ExButton circle type="success">
    <template #prefix>
      <ex-icon icon="star-line" />
    </template>
  </ExButton>

  <!-- 圆形按钮 - 文字显示第一个字符 -->
  <ExButton circle type="primary">用户</ExButton>
  <ExButton circle type="success">管理员</ExButton>
</template>

图标按钮

带图标的按钮可增强辨识度(有文字)或节省空间(无文字)。使用插槽方式添加 Iconify API 图标。

vue
<template>
  <ExButton type="primary">
    <template #prefix>
      <ex-icon icon="search-line" />
    </template>
    搜索
  </ExButton>
  <ExButton type="primary">
    <template #prefix>
      <ex-icon icon="file-copy-line" />
    </template>
    编辑
  </ExButton>
  <ExButton type="primary">
    <template #prefix>
      <ex-icon icon="check-line" />
    </template>
    确认
  </ExButton>
  <ExButton type="primary">
    <template #suffix>
      <ex-icon icon="information-line" />
    </template>
    消息
  </ExButton>
  <ExButton type="danger">
    <template #prefix>
      <ex-icon icon="delete-bin-line" />
    </template>
    删除
  </ExButton>
</template>

禁用状态

按钮不可用状态。

vue
<template>
  <ExButton disabled>默认按钮</ExButton>
  <ExButton type="primary" disabled>主要按钮</ExButton>
  <ExButton type="success" disabled>成功按钮</ExButton>
  <ExButton type="warning" disabled>警告按钮</ExButton>
  <ExButton type="danger" disabled>危险按钮</ExButton>
  <ExButton type="info" disabled>信息按钮</ExButton>
</template>

文字按钮

没有边框和背景色的按钮。

vue
<template>
  <ExButton type="text">文字按钮</ExButton>
  <ExButton type="text" disabled>文字按钮</ExButton>
</template>

链接按钮

链接样式的按钮。

vue
<template>
  <ExButton type="link">链接按钮</ExButton>
  <ExButton type="link" disabled>链接按钮</ExButton>
</template>

不同尺寸

Button 组件提供除了默认值以外的三种尺寸,可以在不同场景下选择合适的按钮尺寸。

vue
<template>
  <ExButton size="large">大型按钮</ExButton>
  <ExButton>默认按钮</ExButton>
  <ExButton size="small">小型按钮</ExButton>
</template>

加载中

点击按钮后进行数据加载操作,在按钮上显示加载状态。

vue
<template>
  <ExButton type="primary" loading>加载中</ExButton>
  <ExButton type="primary" loading>
    <template #loading>
      <ex-icon icon="loader-4-line" spin />
    </template>
    自定义加载图标
  </ExButton>
</template>

块级按钮

block 属性将使按钮适合其父宽度。

vue
<template>
  <ExButton type="primary" block>块级按钮</ExButton>
</template>

API

Props

参数说明类型可选值默认值
type类型stringprimary / secondary / success / warning / danger / info / text / linkprimary
size尺寸stringlarge / medium / smallmedium
shape形状(与下方 round/circle 布尔等价,三者任一生效即可;同时设置时圆形优先)stringdefault / round / circledefault
plain是否朴素按钮booleanfalse
round是否圆角按钮booleanfalse
circle是否圆形按钮booleanfalse
loading是否加载中状态booleanfalse
disabled是否禁用状态booleanfalse
autofocus是否默认聚焦booleanfalse
native-type原生 type 属性stringbutton / submit / resetbutton
block是否为块级按钮booleanfalse
aria-label无障碍标签string

Events

事件名说明回调参数
click点击时触发(event: MouseEvent)
focus聚焦时触发(event: FocusEvent)
blur失焦时触发(event: FocusEvent)

Methods

方法名说明参数
focus使按钮获取焦点
blur使按钮失去焦点

Slots

插槽名说明
default按钮内容
prefix前缀图标
suffix后缀图标
loading自定义加载中图标