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';