Skip to content

Toast 轻提示

轻提示组件,用于消息通知、加载提示和操作结果反馈,支持组件挂载点配合 useToast() 进行函数式调用。

提示

Toast1.7.0 起支持通过组件 props 控制默认样式。函数式调用时,传入的 options 优先级高于组件 props

全局调用方案可参考 wot-starter,适合在路由守卫或请求拦截器中使用。

组件类型

基本用法

需要先在页面中放置一个 wd-toast 作为挂载点,再通过 useToast() 调用提示。

html
<wd-toast />
<wd-button @click="showToast">toast</wd-button>
ts
import { useToast } from '@/uni_modules/wot-ui'

const toast = useToast()

function showToast() {
  toast.show('提示信息')
}

类型提示

支持成功、错误、警告和常规四种快捷提示。

ts
toast.success('操作成功')
toast.error('手机验证码输入错误,请重新输入')
toast.warning('提示信息')
toast.info('常规提示信息')

组件状态

加载提示

loading() 默认不会自动关闭,适合等待异步请求完成后手动调用 close()

ts
toast.loading('3s后自动关闭')

setTimeout(() => {
  toast.close()
}, 3000)

加载类型

通过 loadingType 可切换不同加载样式,支持 circularspinnerdots

ts
toast.loading({
  msg: '3s后自动关闭',
  loadingType: 'spinner',
  loadingColor: '#fff'
})

组件样式

使用图标

可以通过 iconClass 使用组件库内置图标,也可以配合 classPrefix 使用自定义图标。

ts
toast.show({
  iconClass: 'star',
  msg: '使用组件库内部图标'
})
ts
toast.show({
  iconClass: 'kehuishouwu',
  classPrefix: 'fish',
  msg: '使用自定义图标'
})

提示位置

通过 position 调整提示出现位置,支持 topmiddle-topmiddlebottom

ts
toast.show({
  position: 'top',
  msg: '提示信息'
})

toast.show({
  position: 'middle',
  msg: '提示信息'
})

toast.show({
  position: 'bottom',
  msg: '提示信息'
})

排版方向

通过 direction 控制横向或纵向排版,常用于长文案或加载提示。

ts
toast.success({
  msg: '纵向排版',
  direction: 'vertical'
})

Toast Attributes

参数说明类型默认值
selector唯一挂载标识,多实例场景下用于区分不同 toaststring''
msg v1.7.0默认提示文案string''
direction v1.7.0默认排版方向,可选值为 horizontalverticalToastDirectionhorizontal
icon-name v1.7.0默认图标类型,可选值为 successerrorwarningloadinginfoToastIconType''
icon-size v1.7.0默认图标大小number-
loading-type v1.7.0默认加载图标类型,可选值为 circularspinnerdotsToastLoadingTypecircular
loading-color v1.7.0默认加载图标颜色string#ffffff
loading-size v1.7.0默认加载图标大小number-
icon-color v1.7.0默认图标颜色string-
position v1.7.0默认提示位置,可选值为 topmiddle-topmiddlebottomToastPositionTypemiddle
z-index v1.7.0默认层级number100
cover v1.7.0是否显示透明遮罩层booleanfalse
icon-class v1.7.0默认图标类名string''
class-prefix v1.7.0图标类名前缀stringwd-icon
opened v1.7.0完全展示后的回调() => void-
closed v1.7.0完全关闭后的回调() => void-
custom-class根节点自定义类名string''
custom-style根节点自定义样式string''

Toast Options

参数说明类型默认值
msg提示文案string''
duration持续时间,单位毫秒,0 表示不自动关闭number2000
direction排版方向,可选值为 horizontalverticalToastDirectionhorizontal
iconName图标类型,可选值为 successerrorwarningloadinginfoToastIconType-
iconSize图标大小number-
loadingType加载图标类型,可选值为 circularspinnerdotsToastLoadingType-
loadingColor加载图标颜色string-
loadingSize加载图标大小number-
iconColor图标颜色string-
position提示位置,可选值为 topmiddle-topmiddlebottomToastPositionTypemiddle
show是否显示,仅内部状态使用boolean-
zIndex层级number100
cover是否显示透明遮罩层booleanfalse
iconClass自定义图标类名string''
classPrefix自定义图标类名前缀stringwd-icon
opened完全展示后的回调() => void-
closed完全关闭后的回调() => void-

Toast Methods

方法名说明参数返回值
show展示普通提示(options: ToastOptions | string)-
success展示成功提示(options: ToastOptions | string)-
error展示错误提示(options: ToastOptions | string)-
warning展示警告提示(options: ToastOptions | string)-
info展示常规提示(options: ToastOptions | string)-
loading展示加载提示(options: ToastOptions | string)-
close手动关闭当前提示--

主题定制

CSS 变量

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

名称默认值描述
--wot-toast-color$text-white文字颜色
--wot-toast-padding$padding-extra-loose内边距
--wot-toast-max-width300px最大宽度
--wot-toast-border-radius$radius-large圆角大小
--wot-toast-bg$opacfilled-tooltip-toast-cover背景色
--wot-toast-font-size$typography-body-size-extra-large字号
--wot-toast-line-height$typography-body-line--height-size-extra-large行高
--wot-toast-icon-size$n-24图标大小
--wot-toast-msg-margin-left$spacing-tight消息内容左边距
--wot-toast-icon-margin-bottom$spacing-extra-tight图标下边距
--wot-toast-loading-padding$padding-mainloading 状态下的 padding
--wot-toast-loading-margin-bottom$spacing-extra-looseloading 动画的 margin-bottom

源代码

文档
组件

Released under the MIT License.

Released under the MIT License.