使用高级 Chakra UI 组件,更快地构建 💎

了解更多
跳到内容
文档演练场指南博客
赞助

Toast

用于向用户显示临时消息

源代码Storybook用法Ark

设置

如果您还没有该代码片段,请运行以下命令添加toaster 代码片段

npx @chakra-ui/cli snippet add toaster

该代码片段包含 `Toast` 组件的封闭组件组合。

用法

import { Toaster, toaster } from "@/components/ui/toaster"

首先,在您的应用中渲染 Toaster 组件。

<Toaster />

然后,通过调用 toaster 函数创建一个 toast。

toaster.create({
  title: "Toast Title",
  description: "Toast Description",
})

示例

可关闭的 Toast

closable 属性设置为 true 可创建一个可关闭的 toast。

外部关闭

使用 toaster.dismiss 方法关闭 toast。

  • toaster.dismiss(id): 根据 ID 关闭 toast。
  • toaster.dismiss(): 关闭所有 toast。

类型

以下是每种类型 toast 的示例。

带操作

使用 actionactionLabel 属性为 toast 添加操作。

当操作触发器被点击时,toast 将被关闭。

持久性 Toast

type 属性设置为 "loading" 可创建一个持久性 toast。

Promise

使用 toaster.promise 创建一个在 promise 解决时解决的 toast。

接下来,您可以为 promise 的每个状态定义 toast 选项(标题、描述等)。

自定义持续时间

使用 duration 属性设置 toast 的持续时间。

暂停和播放

使用 toaster 对象上的 pauseresume 方法来暂停和播放 toast。

暂停 toast 可防止其超时,而恢复它将使用剩余持续时间重新启用超时。

生命周期

使用 toaster 函数上的 onStatusChange 属性来监听 toast 状态的变化。

最大可见 Toast 数量

createToaster 函数上设置 max 属性以定义同时可渲染的 toast 的最大数量。任何额外的 toast 将被排队,并在一个 toast 被关闭后渲染。

@/components/ui/toaster.tsx

const toaster = createToaster({
  max: 3,
})

位置

Toast 可以在页面的四个角落显示。我们建议选择一个所需位置并在 createToaster 函数中配置它。

@/components/ui/toaster.tsx

const toaster = createToaster({
  placement: "top-end",
})

重叠 Toast

默认情况下,toast 会相互堆叠。要使 toast 相互重叠,请在 createToaster 函数中将 overlap 属性设置为 true

@/components/ui/toaster.tsx

const toaster = createToaster({
  placement: "top-end",
  overlap: true,
})

偏移

createToaster 函数中设置 offset 属性,使 toast 偏离屏幕边缘。

@/components/ui/toaster.tsx

const toaster = createToaster({
  offsets: "20px",
})

或者,您可以使用 offset 属性来设置屏幕每个边缘的偏移量。

@/components/ui/toaster.tsx

const toaster = createToaster({
  offsets: { left: "20px", top: "20px", right: "20px", bottom: "20px" },
})

上一页

时间线

下一页

切换提示