Toast 消息提示
此组件表现形式类似uni的uni.showToast
API,但也有不同的地方,具体表现在:
- uView的
toast
有5中主题可选 - 可以配置toast结束后,跳转相应URL
- 目前没有加载中的状态,请用uni的
uni.showLoading
,这个需求uni已经做得很好
注意:
由于uni中无法通过js创建元素,所以需要在页面中调用<toast />
组件,再通过ref
开启
基本使用
以下为一个模拟登录成功后,弹出toast提示,并在一定时间(默认2000ms)后,自动跳转页面到个人中心页(也可以配置跳转的参数)的示例
<template>
<view>
<u-toast ref="uToast" />
</view>
</template>
<script>
export default {
methods: {
showToast() {
this.$refs.uToast.show({
title: '登录成功',
type: 'success',
url: '/pages/user/index'
})
}
}
}
</script>
配置toast主题
一共有6种主题可选,如下:
- default-灰黑色,最普通的场景,此为默认主题,可以不用填
type
参数 - error-红色,代表错误
- success-绿色,代表成功
- warning-黄色,代表警告
- info-灰色,比default浅一点
- primary-蓝色,uView的主色调
除了default
状态,其他5中主题,都是默认带有一个左边的图标,可以通过配置icon
参数为none
来取消
this.$refs.uToast.show({
title: '操作成功',
// 如果不传此type参数,默认为default,也可以手动写上 type: 'default'
// type: 'success',
// 如果不需要图标,请设置为false
// icon: false
})
toast结束跳转URL
- 如果配置了
src
参数,在toast结束的时候,就会用uni.navigateTo
(默认)或者uni.switchTab
(需另外设置isTab
为true
) - 如果配置了
params
参数,就会在跳转时自动在URL后面拼接上这些参数,具体用法如下:
this.$refs.uToast.show({
title: '操作成功',
url: '/pages/user/index',
param: {
id: 1,
menu: 3
}
})
API
Props
参数 | 说明 | 类型 | 默认值 | 可选值 |
---|---|---|---|---|
z-index | toast展示时的z-index 值 | String | Number | 1090 | - |
Params
这些参数为通过ref
调用<toast/>
组件内部的show
方法时,需要传递参数
参数 | 说明 | 类型 | 默认值 | 可选值 |
---|---|---|---|---|
title | 显示的文本 | String | - | - |
type | 主题类型,不填默认为default | String | default | primary / success / error / warning / info |
duration | toast的持续时间,单位ms | Nubmer | 2000 | - |
url | toast结束跳转的url,不填不跳转 | String | - | - |
icon | 是否显示显示type 对应的图标,为false 不显示图标 | Boolean | true | false |
position | toast出现的位置 | String | center | top / bottom |
isTab | toast结束后,跳转tab页面时需要配置为true | Boolean | false | true |
Methods
方法是通过ref
调用的,参见上方说明 注意:所有有关ref
的调用,都不能在页面的onLoad
生命周期调用,因为此时组件尚未创建完毕,会报错,应该在onReady
生命周期调用。
方法名 | 说明 | 参数 | 版本 |
---|---|---|---|
show | 显示toast,如需一进入页面就显示toast,请在onReady 生命周期调用 | 见上方说明 | - |