Skip to content

Toast 消息提示 ​

uvx-toast 提供可定制的轻提示,支持语义主题、加载状态、显示位置、透明遮罩以及关闭后的跳转、返回和回调。

平台兼容性 ​

AndroidiOS鸿蒙H5微信
3.9+4.11+4.61+4.0+4.41+

平台能力 ​

能力AndroidiOS鸿蒙H5微信
主题、图标、加载状态、位置和遮罩√√√√√
命令式与声明式显示√√√√√
结束后跳转、返回和完成回调√√√√√

使用须知

  1. show(options) 会将本次配置与 Props 合并;再次调用会清理上一次计时器并重新计时。
  2. type="loading" 或 loading=true 都会显示加载图标。icon="none"、icon=false 可关闭普通图标。
  3. 自动结束时先处理 url,其次处理 back,最后执行 complete;手动 hide() 只隐藏并清理计时器,不执行这些动作。
  4. url 非空时优先于 back。is-tab=true 使用 switchTab,否则按普通路由处理。
  5. show Prop 由组件监听,但组件不会向父级回写;命令式调用更适合一次性提示。

基础用法 ​

vue
<template>
   <uvx-button text="显示提示" @click="handleShow"></uvx-button>
   <uvx-toast ref="uToast"></uvx-toast>
</template>

<script lang="uts" setup>
const uToast = ref<UvxToastComponentPublicInstance | null>(null);

const handleShow = (): void => {
   uToast.value?.show({ message: "操作成功" });
};
</script>

主题和图标 ​

type 支持 default、primary、success、error、warning 和 loading。

uts
uToast.value?.show({ message: "保存成功", type: "success" });
uToast.value?.show({ message: "保存失败", type: "error" });
uToast.value?.show({ message: "自定义图标", icon: "bell" });
uToast.value?.show({ message: "无图标", icon: false });

加载状态 ​

uts
uToast.value?.show({
   message: "正在加载",
   type: "loading",
   duration: 3000,
});

显示位置 ​

uts
uToast.value?.show({ message: "顶部提示", position: "top" });
uToast.value?.show({ message: "底部提示", position: "bottom" });

结束后跳转 ​

uts
uToast.value?.show({
   message: "即将跳转",
   duration: 1500,
   url: "/pages/basic/text/text",
   params: { source: "toast" },
});

跳转到 pages.json 中的 tabBar 页面时设置 isTab: true。

结束后返回和回调 ​

uts
uToast.value?.show({
   message: "操作完成",
   back: true,
   complete: (): void => {
      console.log("toast complete");
   },
});

声明式显示 ​

vue
<uvx-toast
   :show="show"
   message="声明式提示"
   type="primary"
   position="center"
></uvx-toast>

API ​

Props ​

属性说明类型默认值平台
z-index遮罩层级;内容层级在此基础上加 1string | number全局层级全部
loading是否显示加载状态booleanfalse全部
message提示内容string | number""全部
icon图标开关、图标名或图片地址;none 表示隐藏boolean | stringtrue全部
type提示主题default | primary | success | error | warning | loadingdefault全部
show是否声明式显示booleanfalse全部
overlay是否显示透明遮罩阻止操作穿透booleantrue全部
position显示位置top | center | bottomcenter全部
params普通路由跳转参数UTSJSONObject{}全部
duration显示时长,单位 ms;负值回退为 2000string | number2000全部
is-taburl 是否为 tabBar 页面booleanfalse全部
url自动结束后的跳转地址string""全部
complete自动结束并完成路由处理后的回调() => void空函数全部
back无 url 时是否返回上一页booleanfalse全部
u-style内容自定义样式,CSS 字符串string""全部
u-class内容追加类名string""全部

Options ​

show(options) 支持上述除 show 外的所有字段,字段均可选;complete 还可传 null。

Methods ​

方法说明参数平台
show(options?)合并配置、显示并开始计时Options | null全部
hide()隐藏并清理计时器,不执行路由与回调-全部

参考 ​

uvx-ui · uni-app x 组件库