Notification 通知框
用于系统通知。 通常用于推送消息。
获取组件
import { Notification, useToaster } from 'rsuite';
// or
import Notification from 'rsuite/Notification';
import { useToaster } from 'rsuite/toaster';
演示
默认
通知类型
可关闭的
与 toaster 组合
Props & Hooks
<Notification>
Property | Type (Default) |
Description |
---|---|---|
children * | ReactNode | 通知的内容 |
closable | boolean | 是否显示关闭按钮 |
duration | number (4500) |
延迟自动关闭通知,与 toaster 组合使用时候才有效。当设为 0 时候,则不自动关闭通知 (单位: 毫秒) |
header * | string | 通知的标题 |
onClose | () => void | 通知被移除后的回调函数 |
placement | Placement('topCenter') |
通知出现的位置 |
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;
ts:Placement
type Placement = 'topStart' | 'topCenter' | 'topEnd' | 'bottomStart' | 'bottomCenter' | 'bottomEnd';