Message 消息框
用于页面中展示重要的提示信息。
获取组件
import { Message, useToaster } from 'rsuite';
// or
import Message from 'rsuite/Message';
import { useToaster } from 'rsuite/toaster';演示
默认
类型
显示图标
可关闭的
消息框撑满容器
与 toaster 组合
一种包含 Alert 的消息类型
Props & Hooks
<Message>
| 属性名称 | 类型 (默认值) |
描述 |
|---|---|---|
| children | ReactNode | 消息描述信息 |
| classPrefix | string ('message') |
组件 CSS 类的前缀 |
| closable | boolean | 可以关闭消息框 |
| duration | number (2000) |
延迟自动关闭消息,与 toaster 组合使用时候才有效。当设为 0 时候,则不自动关闭通知 (单位: 毫秒) |
| full | boolean | 撑满容器 |
| header | ReactNode | 消息标题 |
| onClose | (event?: MouseEvent) => void | 消息关闭后调用 |
| showIcon | boolean | 显示图标 |
| type | 'info' | 'success' | 'warning' | 'error' ('info') |
消息框类型 |
useToaster
useToaster 是一个用于创建和管理 Toast 的 React Hook。
import { useToaster } from 'rsuite';
return () => {
const toaster = useToaster();
...
};toaster.push
推送一个消息,并返回一个唯一的 key
type PlacementType = 'topCenter' | 'bottomCenter' | 'topStart' | 'topEnd' | 'bottomStart' | 'bottomEnd';
interface ToastContainerProps{
/** 消息框的位置 */
placement?: PlacementType;
/** 设置消息出现在指定的容器中 */
container?: HTMLElement | (() => HTMLElement);
/** 自动关闭消息前等待的毫秒数 */
duration?: number;
}
toaster.push(message: ReactNode, options?: ToastContainerProps): string;e.g:
// 弹出一个消息
toaster.push(<Message>message</Message>);
// 弹出一个消息,并设置自动关闭的时间
toaster.push(<Message>message</Message>, {
duration: 1000
});
// 弹出一个通知, 并设置位置
toaster.push(<Notification>message</Notification>, {
placement: 'topEnd'
});toaster.remove
通过 key 删除一个消息
toaster.remove(key: string): void;e.g:
const key = toaster.push(<Notification>message</Notification>, {
placement: 'topEnd'
});
toaster.remove(key);toaster.clear
删除所有消息
toaster.clear(): void;