Toast 轻提示

引入

通过以下方式来全局注册组件,更多注册方式请参考。

文字提示

加载提示

使用 Toast.loading 方法展示加载提示,通过 forbidClick 属性可以禁用背景点击。

  1. Toast.loading({
  2. message: '加载中...',
  3. forbidClick: true,

成功/失败提示

使用 Toast.success 方法展示成功提示,使用 Toast.fail 方法展示失败提示。

  1. Toast.success('成功文案');
  2. Toast.fail('失败文案');

通过 icon 选项可以自定义图标,支持传入图标名称或图片链接,等同于 Icon 组件的 。

  1. Toast.loading({
  2. message: '加载中...',
  3. forbidClick: true,
  4. loadingType: 'spinner',
  5. });

自定义位置

Toast 默认渲染在屏幕正中位置,通过 position 属性可以控制 Toast 展示的位置。

  1. Toast({
  2. message: '顶部展示',
  3. position: 'top',
  4. });
  5. Toast({
  6. message: '底部展示',
  7. position: 'bottom',
  8. });

动态更新提示

执行 Toast 方法时会返回对应的 Toast 实例,通过修改实例上的 message 属性可以实现动态更新提示的效果。

  1. const toast = Toast.loading({
  2. duration: 0,
  3. forbidClick: true,
  4. message: '倒计时 3 秒',
  5. const timer = setInterval(() => {
  6. second--;
  7. if (second) {
  8. toast.message = `倒计时 ${second} 秒`;
  9. } else {
  10. clearInterval(timer);
  11. Toast.clear();
  12. }
  13. }, 1000);

全局方法

通过 app.use 全局注册 Toast 组件后,会自动在 app 的所有子组件上挂载 $toast 方法,便于在组件内调用。

单例模式

  1. Toast.allowMultiple();
  2. const toast1 = Toast('第一个 Toast');
  3. const toast2 = Toast.success('第二个 Toast');
  4. toast1.clear();
  5. toast2.clear();

通过 Toast.setDefaultOptions 函数可以全局修改 Toast 的默认配置。

  1. Toast.setDefaultOptions({ duration: 2000 });
  2. Toast.setDefaultOptions('loading', { forbidClick: true });
  3. Toast.resetDefaultOptions();

方法

ToastOptions 数据结构

类型定义

组件导出以下类型定义:

  1. import type { ToastType, ToastProps, ToastOptions, ToastPosition } from 'vant';

样式变量

组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件