# Toast 消息提示
Toast 组件主要用于消息通知、加载提示、操作结果提示等醒目提示效果,我们为其提供了多种丰富的API。
注意:
由于uni中无法通过js创建元素,所以需要在页面中调用<toast />
组件,再通过ref
开启
# 平台差异说明
App(vue) | App(nvue) | H5 | 小程序 |
---|---|---|---|
√ | √ | √ | √ |
# 基本使用
以下为不同能力的toast的具体表现
<template>
<view>
<up-toast ref="uToastRef"></up-toast>
<up-cell-group title-bg-color="rgb(243, 244, 246)">
<up-cell
:titleStyle="{fontWeight: 500}"
:title="item.title"
v-for="(item, index) in list"
:key="index"
isLink
:icon="item.iconUrl"
@click="showToast(item)"
>
</up-cell>
</up-cell-group>
</view>
</template>
<script setup>
import { ref, computed } from 'vue';
// 创建响应式数据
const show = ref(false);
const list = ref([
{
type: 'default',
title: '默认主题',
message: "锦瑟无端五十弦",
iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/default.png'
},
{
type: 'error',
icon: false,
title: '失败主题',
message: "一弦一柱思华年",
iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/error.png'
},
{
type: 'success',
title: '成功主题(带图标)',
message: "庄生晓梦迷蝴蝶",
iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/success.png'
},
{
type: 'loading',
title: '正在加载',
message: "正在加载",
iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/loading.png'
},
{
type: 'default',
title: '结束后跳转标签页',
message: "此情可待成追忆",
url: '/pages/componentsB/tag/tag',
iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/jump.png'
}
]);
// 计算属性
const getIcon = computed(() => {
return path => {
return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
}
});
// 方法
const uToastRef = ref(null)
function showToast(params) {
uToastRef.value.show({
...params,
complete() {
params.url && uni.navigateTo({
url: params.url
});
}
});
}
</script>
<style lang="scss">
.u-page {
padding: 0;
}
.u-cell-icon {
width: 36rpx;
height: 36rpx;
margin-right: 8rpx;
}
.u-cell-group__title__text {
font-weight: bold;
}
</style>
# 右侧演示页面源代码地址
# API
# Params
这些参数为通过ref
调用<toast/>
组件内部的show
方法时,需要传递参数
参数 | 说明 | 类型 | 默认值 | 可选值 |
---|---|---|---|---|
loading | 是否加载中 | Boolean | false | true |
message | 显示的文本 | String | Number | - | - |
icon | 图标,或者绝对路径的图片 | String | - | - |
position | toast出现的位置 | String | center | top / bottom |
type | 主题类型 | String | - | - |
params | 跳转的参数 | Object | - | - |
duration | 展示时间,单位ms, 值为-1时不自动关闭 | String | Number | 2000 | - |
complete | 执行完后的回调函数 | Function | null | - |
# Methods
方法是通过ref
调用的,参见上方说明
注意:所有有关ref
的调用,都不能在页面的onLoad
生命周期调用,因为此时组件尚未创建完毕,会报错,应该在onReady
生命周期调用。
方法名 | 说明 | 参数 | 版本 |
---|---|---|---|
show | 显示toast,如需一进入页面就显示toast,请在onReady 生命周期调用 | 见上方说明 | - |