Button 按钮
常用的操作按钮。
基础用法
使用 type、plain、outline、round、dashed 和 circle 属性来定义按钮的样式。
禁用状态
使用 disabled 属性来定义按钮是否已被禁用。
使用 disabled 属性来控制按钮的禁用状态。该属性接受一个 Boolean 类型的值。
链接按钮
使用 link 属性来定义链接按钮。
Basic link button
Disabled link button
文字按钮
使用 text 属性来定义文字按钮。
没有边框和背景色的按钮。
Basic text button
Background color always on
Disabled text button
图标按钮
带图标的按钮可增强辨识度(有文字)或节省空间(无文字)。当只有图标且需要悬浮说明时,设置非空的 tooltip 即可自动使用紧凑的纯图标样式并包裹 Tooltip(例如 <u-button type="primary" :icon="Edit" tooltip="编辑" />),一般不必再写 icon-button。若纯图标按钮不需要 Tooltip,但仍希望紧凑方形样式,可继续设置 icon-button。
使用 icon 属性来为按钮添加图标。你可以在 Uniboot UI 的图标组件中找到对应的图标名。使用 <i> 标签则可以将图标添加在文字右侧,也可以使用自定义图标。
非空 tooltip 与仅图标(无默认插槽文字)组合时会自动使用紧凑样式;通过 tooltip-placement 可调整 Tooltip 位置。
按钮组
以按钮组的方式出现,常用于将多个对立的操作进行类似分组的操作。
你可以使用 direction 属性来控制按钮组方向。
使用 <u-button-group> 标签来嵌套你的按钮。
加载中按钮
点击按钮后进行数据加载操作,在按钮上显示加载状态。
要设置为加载中状态,只要设置 loading 属性为 true 即可。
TIP
你可以使用 loading 插槽或 loadingIcon 属性来自定义你的加载组件。
提示:loading 插槽具有比 loadingIcon 更高的优先级。
尺寸
除了默认的大小,按钮组件还提供了额外的三种尺寸,以便你在不同的场景下选择合适的按钮大小。
设置 large 或 small 的 size 属性来改变按钮尺寸。
自定义标签
你可以自定义渲染元素的标签。例如 button、div、a、router-link、nuxt-link。
自定义颜色
你可以自定义按钮的颜色。
我们将会自动计算出 hover 和 active 的颜色。
color 属性同样支持应用在 link 和 text 按钮中。
按钮 API
按钮 属性
| 名称 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| size | 按钮尺寸 | enum | — |
| type | 按钮类型,当设置 color 时,后者优先 | enum | — |
| plain | 是否为朴素按钮 | boolean | false |
| outline | 是否为全镂空反白按钮(附带交互颜色变化效果) | boolean | false |
| text | 是否为文字按钮 | boolean | false |
| bg | 是否让文字按钮的背景色一直处于显示状态 | boolean | false |
| link | 是否为链接按钮 | boolean | false |
| round | 是否为圆角按钮 | boolean | false |
| circle | 是否为圆形按钮 | boolean | false |
| dashed | 是否为虚线框按钮 | boolean | false |
| loading | 是否为加载中状态 | boolean | false |
| loading-icon | 自定义加载中状态图标组件 | string / Component | Loading |
| disabled | 是否为禁用状态 | boolean | false |
| icon | 图标组件 | string / Component | — |
| autofocus | 同原生 button 组件的 autofocus | boolean | false |
| native-type | 同原生 button 组件的 type | enum | button |
| auto-insert-space | 自动在两个中文字符之间插入空格(只有在文本长度为2且都是中文字符的时候才生效) | boolean | false |
| color | 自定义按钮颜色, 自动计算 hover 和 active 的颜色。 能够作用于 link 和 text 按钮 | string | — |
| dark | 暗黑模式,配合 color 能够自动转换为暗黑模式适应的色彩 | boolean | false |
| tag | 自定义渲染元素的标签 | string / Component | button |
| icon-button | 是否强制为纯图标紧凑样式;未设置时,若非空 tooltip 与 icon(或 icon 插槽)组合且无默认插槽,也会自动使用该样式 | boolean | false |
| tooltip | 鼠标悬浮时显示的文字提示;非空时包裹 Tooltip。与仅图标组合时自动使用紧凑图标按钮样式 | string | — |
| tooltip-placement | Tooltip 的弹出位置,仅在设置了 tooltip 时生效 | enum | top |
按钮 插槽
| 名称 | 说明 |
|---|---|
| default | 自定义默认内容 |
| loading | 自定义加载中组件 |
| icon | 自定义图标组件 |
按钮 暴露
| 名称 | 说明 | 类型 |
|---|---|---|
| ref | button 原生 HTML 元素 | object |
| size | 按钮尺寸 | object |
| type | 按钮组件的类型 | object |
| disabled | 按钮是否处于禁用状态 | object |
| shouldAddSpace | 是否需要在按钮文字间添加空格 | object |
按钮组 API
按钮组 属性
| 名称 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| size | 控制该按钮组内按钮的尺寸 | enum | — |
| type | 控制该按钮组内按钮的类型 | enum | — |
| direction | 按钮组的方向 | enum | horizontal |
按钮组 插槽
| 名称 | 说明 | 子标签 |
|---|---|---|
| default | 自定义按钮组的内容 | Button |