这是我参与8月更文挑战的第16天,活动详情查看:8月更文挑战
之前我们看了uniapp的showtoast方法,今天我们对比一下微信小程序提供的showToast方法。看看两者之间的区别是什么。首先我们可以看到微信在调用showToast时,跟uniapp是一样的,直接使用wx这个全局变量来调用。 我们先看一下微信提供的api属性。可以对比uniapp的参数属性。
wx.showToast(Object object)
显示消息提示框
属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
---|---|---|---|---|---|
title | string | 是 | 提示的内容 | ||
icon | string | success | 否 | 图标 | |
image | string | 否 | 自定义图标的本地路径,image 的优先级高于 icon | 1.1.0 | |
duration | number | 1500 | 否 | 提示的延迟时间 | |
mask | boolean | false | 否 | 是否显示透明蒙层,防止触摸穿透 | |
success | function | 否 | 接口调用成功的回调函数 | ||
fail | function | 否 | 接口调用失败的回调函数 | ||
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.icon 的合法值
值 | 说明 | 最低版本 |
---|---|---|
success | 显示成功图标,此时 title 文本最多显示 7 个汉字长度 | |
error | 显示失败图标,此时 title 文本最多显示 7 个汉字长度 | |
loading | 显示加载图标,此时 title 文本最多显示 7 个汉字长度 | |
none | 不显示图标,此时 title 文本最多可显示两行,1.9.0及以上版本支持 |
示例代码
wx.showToast({
title: '成功',
icon: 'success',
duration: 2000
})
注意
- wx.showLoading和 wx.showToast同时只能显示一个
- wx.showToast应与 wx.hideToast配对使用
通过上述参数列表中微信与uniapp提供的showToast的参数对比。可以看出基本是一模一样,这对于我们小程序的开发者来说,当我们使用夸端开发时,在使用uniapp开发的过程中,我们可以完全可以直接使用我们日常使用的微信中的方法,只不过是咋uni的全局变量之下调用的。这一点也很方便。
然后我们看一个在截图函数里的showToast的应用:
/**
* @param {Object} params userID streamType
* @returns {Promise}
*/
snapshot(params) {
return new Promise((resolve, reject) => {
this.captureSnapshot(params)
.then((result) => {
wx.saveImageToPhotosAlbum({
filePath: result.tempImagePath,
success(res) {
wx.showToast({
title: '已保存到相册',
});
resolve(result);
},
fail: function (error) {
wx.showToast({
icon: 'none',
title: '保存失败',
});
reject(error);
},
});
})
.catch((error) => {
reject(error);
});
});
},