按钮组件,用于触发操作。
| 属性(Props) | 类型 | 默认 | 说明 |
|---|---|---|---|
appearance | 'primary' | 'secondary' | 'outline' | 'subtle' | 'transparent' | 'secondary' | 外观变体;primary 为品牌色填充的主要行动点 |
size | 'small' | 'medium' | 'large' | 'medium' | 尺寸,高度分别为 24 / 32 / 40 px |
shape | 'rounded' | 'circular' | 'square' | 'rounded' | 形状;circular 取 borderRadiusCircular,square 为直角 |
disabled | boolean | false | 是否禁用 |
selected | boolean | false | 选中态(Toggle button 模式),渲染为 aria-pressed |
block | boolean | false | 块级显示,占满父容器宽度 |
type | 'button' | 'submit' | 'reset' | 'button' | 原生 type;显式默认 button,避免在表单里意外触发提交 |
icon | Component | — | 图标组件(@fluere-vue/icons 的图标),装饰性、对 AT 隐藏 |
iconPosition | 'before' | 'after' | 'before' | 图标相对文本的位置(仅图标 + 文本模式生效) |
iconOnly | boolean | false | 仅显示图标(等比紧凑模式),此时不渲染内容 <span> |
| 插槽(Slots) | 说明 |
|---|---|
default | 按钮文本;iconOnly 为 true 时不渲染 |
icon | 图标位;提供后取代 icon Prop(图标会带上 aria-hidden="true") |
本组件不声明
emits、也不设置inheritAttrs: false:click等事件与aria-*、id、title等属性直接落到根节点原生<button>上,消费方按原生按钮的用法传即可。这也是iconOnly场景下需要消费方自行传aria-label的原因——图标对无障碍树不可见,可访问名只能来自外部。