ant-design/components/button/index.zh-CN.md
MadCcc 4ecc0d7f95
docs: optimize overview svg (#47203)
* docs: optimize overview svg

* docs: update

* docs: dark
2024-01-29 14:50:36 +08:00

4.9 KiB
Raw Blame History

category title subtitle cover coverDark demo group
Components Button 按钮 https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*7va7RKs3YzIAAAAAAAAAAAAADrJ8AQ/original https://mdn.alipayobjects.com/huamei_7uahnr/afts/img/A*3T4cRqxH9-8AAAAAAAAAAAAADrJ8AQ/original
cols
2
title order
通用 1

按钮用于开始一个即时操作。

何时使用

标记了一个(或封装一组)操作命令,响应用户点击行为,触发相应的业务逻辑。

在 Ant Design 中我们提供了五种按钮。

  • 主按钮:用于主行动点,一个操作区域只能有一个主按钮。
  • 默认按钮:用于没有主次之分的一组行动点。
  • 虚线按钮:常用于添加操作。
  • 文本按钮:用于最次级的行动点。
  • 链接按钮:一般用于链接,即导航至某位置。

以及四种状态属性与上面配合使用。

  • 危险:删除/移动/修改权限等危险操作,一般需要二次确认。
  • 幽灵:用于背景色比较复杂的地方,常用在首页/产品页等展示场景。
  • 禁用:行动点不可用的时候,一般需要文案解释。
  • 加载中:用于异步操作等待反馈的时候,也可以避免多次提交。

完整设计指南

代码演示

按钮类型 图标按钮 调试图标按钮 调试按钮block属性 按钮尺寸 不可用状态 加载中状态 多个按钮组合 幽灵按钮 危险按钮 Block 按钮 废弃的 Block 组 加载中状态 bug 还原 组件 Token 渐变按钮

API

通用属性参考:通用属性

通过设置 Button 的属性来产生不同的按钮样式,推荐顺序为:type -> shape -> size -> loading -> disabled

按钮的属性说明如下:

属性 说明 类型 默认值 版本
block 将按钮宽度调整为其父宽度的选项 boolean false
classNames 语义化结构 class Record<SemanticDOM, string> - 5.4.0
danger 设置危险按钮 boolean false
disabled 设置按钮失效状态 boolean false
ghost 幽灵属性,使按钮背景透明 boolean false
href 点击跳转的地址,指定此属性 button 的行为和 a 链接一致 string -
htmlType 设置 button 原生的 type 值,可选值请参考 HTML 标准 string button
icon 设置按钮的图标组件 ReactNode -
loading 设置按钮载入状态 boolean | { delay: number } false
shape 设置按钮形状 default | circle | round default
size 设置按钮大小 large | middle | small middle
styles 语义化结构 style Record<SemanticDOM, CSSProperties> - 5.4.0
target 相当于 a 链接的 target 属性href 存在时生效 string -
type 设置按钮类型 primary | dashed | link | text | default default
onClick 点击按钮时的回调 (event: MouseEvent) => void -

支持原生 button 的其他所有属性。

stylesclassNames 属性

名称 说明 版本
icon 设置图标元素 5.5.0

主题变量Design Token

FAQ

如何移除两个汉字之间的空格?

根据 Ant Design 设计规范要求,我们会在按钮内(文本按钮和链接按钮除外)只有两个汉字时自动添加空格,如果你不需要这个特性,可以设置 ConfigProviderautoInsertSpaceInButtonfalse

<ConfigProvider autoInsertSpaceInButton={false}>
  <Button>按钮</Button>
</ConfigProvider>
移除两个汉字之间的空格

设计指引