---
title: Button 按钮
description: 用于开启一个闭环的操作任务,如“删除”对象、“购买”商品等。
spline: base
isComponent: true
---
## 引入
全局引入,在 miniprogram 根目录下的`app.json`中配置,局部引入,在需要引入的页面或组件的`index.json`中配置。
```json
"usingComponents": {
"t-button": "tdesign-miniprogram/button/button"
}
```
## 代码演示
在开发者工具中预览效果
### 01 组件类型 #### 基础按钮 {{ base }} #### 图标按钮 {{ icon-btn }} #### 幽灵按钮 {{ ghost-btn }} #### 组合按钮 {{ group-btn }} #### 通栏按钮 {{ block-btn }} ### 02 组件状态 #### 按钮禁用态 {{ disabled }} ### 03 组件样式 #### 按钮尺寸 {{ size }} #### 按钮形状 {{ shape }} #### 按钮主题 {{ theme }} ## API ### Button Props 名称 | 类型 | 默认值 | 说明 | 必传 -- | -- | -- | -- | -- t-id | String | - | 按钮标签id | N block | Boolean | false | 是否为块级元素 | N content | String / Slot | - | 按钮内容 | N custom-dataset | Object | - | 自定义 dataset,可通过 event.currentTarget.dataset.custom 获取。TS 类型:`any` | N disabled | Boolean | false | 禁用状态 | N ghost | Boolean | false | 是否为幽灵按钮(镂空按钮) | N icon | String / Object | - | 图标名称。值为字符串表示图标名称,值为 `Object` 类型,表示透传至 `icon`。 | N loading | Boolean | false | 是否显示为加载状态,skyline模式下暂不支持该属性 | N loading-props | Object | - | 透传至 Loading 组件。TS 类型:`LoadingProps`,[Loading API Documents](./loading?tab=api)。[详细类型定义](https://github.com/Tencent/tdesign-miniprogram/tree/develop/src/button/type.ts) | N shape | String | rectangle | 按钮形状,有 4 种:长方形、正方形、圆角长方形、圆形。可选项:rectangle/square/round/circle | N size | String | medium | 组件尺寸。可选项:extra-small/small/medium/large。TS 类型:`SizeEnum` | N suffix | Slot | - | 右侧内容,可用于定义右侧图标 | N theme | String | default | 组件风格,依次为品牌色、危险色。可选项:default/primary/danger/light | N type | String | - | 同小程序的 formType。可选项:submit/reset | N variant | String | base | 按钮形式,基础、线框、文字。可选项:base/outline/dashed/text | N open-type | String | - | 微信开放能力。Tips: 请确保开发者工具为打开状态。导入开发者工具后,依次执行:npm i > 构建npm包 > 勾选 "将JS编译成ES5"