Button 按钮
常用的操作按钮,按钮组合,按钮布局。
<Button>
是组件中最基础的元素,可以快速创建一个带样式的按钮。<IconButton>
图标按钮组件。<ButtonGroup>
按钮组控件,可以把一组按钮放在一起,并统一控制布局。<ButtonToolbar>
按钮工具栏控件。
获取组件
import { Button, IconButton, ButtonGroup, ButtonToolbar } from 'rsuite';
// or
import Button from 'rsuite/Button';
import IconButton from 'rsuite/IconButton';
import ButtonGroup from 'rsuite/ButtonGroup';
import ButtonToolbar from 'rsuite/ButtonToolbar';
演示
默认
外观
appearance
property can set appearance of button:
- 'default'(default) default button.
- 'primary' Emphasi, guide button.
- 'link' Button like link.
- 'subtle' Weakened button.
- 'ghost' Ghost button, background transparent, place button on background element.
按钮尺寸
size
属性设置按钮尺寸, 选项包括:'lg', 'md', 'sm', 'xs'
彩色按钮
color
属性设置按钮样式,选项包括: 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'violet'
自定义组合按钮
图标按钮
<IconButton>
是专为图标按钮设计的组件,设置icon
属性定义所需要的图标。 只有图标按钮可以设置为一个圆形按钮。
适应容器宽度
一般适用于流式布局,或者在某个容器的顶部、底部撑满整行。设置一个 block
属性。
禁用
激活
加载中状态
按钮组
垂直按钮组
分体式按钮
按钮工具栏
等宽
按钮在按钮组中横向布局,并且等宽。
访问 DOM
Button
组件所渲染的 <button>
元素可通过 ref
属性访问。
function App() {
const buttonRef = useRef<HTMLButtonElement>(null);
return <Button ref={buttonRef}>Text</Button>;
}
Props
<Button>
属性名称 | 类型 (默认值) |
描述 |
---|---|---|
active | boolean | 激活状态 |
appearance | Appearance ('default') |
设置外观 |
as | ElementType ('button') |
为组件自定义元素类型 |
block | boolean | 显示为块级元素 |
children * | ReactNode | 组件的内容 |
classPrefix | string ('btn') |
组件 CSS 类的前缀 |
color | Color | 设置颜色 |
disabled | boolean | 禁用 |
endIcon | ReactNode | 在按钮文字之后显示一个图标 |
href | string | 按钮跳转链接 |
loading | boolean | 按钮可以显示加载指示器 |
size | 'lg' | 'md' | 'sm' | 'xs' ('md') |
设置按钮尺寸 |
startIcon | ReactNode | 在按钮文字之前显示一个图标 |
<IconButton>
IconButton 继承所有 Button 的属性
属性名称 | 类型(默认值) |
描述 |
---|---|---|
circle | boolean | 设置为圆形按钮 |
classPrefix | string ('btn-icon') |
组件 CSS 类的前缀 |
icon | Element<typeof Icon> | 设置图标 |
placement | enum: 'left'|'right' ('left') |
icon 的位置 |
<ButtonGroup>
属性名称 | 类型(默认值) |
描述 |
---|---|---|
block | boolean | 适应容器宽度 |
classPrefix | string ('btn-group') |
组件 CSS 类的前缀 |
justified | boolean | 横向等宽布局 |
size | 'lg' | 'md' | 'sm' | 'xs' ('md') |
设置按钮尺寸 |
vertical | boolean | 按钮垂直布局 |
ts:Appearance
type Appearance = 'default' | 'primary' | 'link' | 'subtle' | 'ghost';
ts:Color
type Color = 'red' | 'orange' | 'yellow' | 'green' | 'cyan' | 'blue' | 'violet';