跳转到正文

Button 按钮

常用的操作按钮,支持多种视觉样式、尺寸、危险态、异步自动加载和图标插槽,适用于表单提交、列表操作与页面内交互触发。

基础用法

通过 type 设置按钮的视觉风格。primary 用于主操作,default 适合常规动作,dashedtextlink 适合弱化操作。

尺寸与形态

按钮提供 largedefaultsmall 三种尺寸,同时支持 roundcircle 两种形态。

按钮尺寸

圆角与圆形

危险 / 禁用

danger 用于表达删除、拒绝等高风险操作;disabled 用于禁止点击和状态变化。

受控加载

当业务侧需要完全控制加载过程时,可通过 loading 属性驱动按钮状态。

自动加载与点击事件

action 返回 Promise 时,按钮会自动进入加载态;同时仍会按组件约定触发 click 事件,适合直接承载异步提交动作。

块级 / 省略

block 让按钮占满父容器宽度,ellipsis 适用于固定宽度下的长文本省略场景。

图标插槽

通过 icon 插槽可以插入前置图标,也可以结合 circle 创建纯图标按钮。

接口说明

属性

名称类型默认值说明
type'primary' | 'default' | 'dashed' | 'text' | 'link''default'按钮视觉类型。
size'large' | 'default' | 'small''default'按钮尺寸。
disabledbooleanfalse是否禁用按钮,禁用后不会触发点击。
loadingbooleanfalse是否启用受控加载状态。
dangerbooleanfalse是否使用危险态样式。
blockbooleanfalse是否撑满父容器宽度。
roundbooleanfalse是否显示为胶囊圆角按钮。
circlebooleanfalse是否显示为圆形按钮。
autofocusbooleanfalse是否在挂载后自动聚焦原生按钮。
ellipsisbooleanfalse是否在文本溢出时显示省略号,并同步完整标题到 title
ripplebooleantrue是否启用按下时的波纹特效。
action(event: MouseEvent) => void | Promise<unknown>undefined属性级点击处理函数,返回 Promise 时自动进入加载态。

事件

名称类型默认值说明
click(event: MouseEvent) => void-按钮可交互时触发的点击事件;禁用和加载中不会触发。

插槽

名称类型默认值说明
default() => VNode[]-按钮主内容。
icon() => VNode[]-前置图标内容,加载中不显示。

暴露方法

名称类型默认值说明
focus() => void-使原生按钮获得焦点。
blur() => void-使原生按钮失去焦点。
refHTMLButtonElement | undefined-暴露的原生 button 元素引用。

基于 MIT 协议开源发布。