微信小程序开发之toast等弹框提示使用教程


Posted in Javascript onJune 08, 2017

介绍

微信小程序中toast消息提示框只有两种显示的效果,就是成功和加载,使用wx.showToast(OBJECT)

看下有关参数说明:

微信小程序开发之toast等弹框提示使用教程

代码很简单:

wx.showToast({
 title: '成功',
 icon: 'succes',
 duration: 1000,
 mask:true
 })

微信小程序开发之toast等弹框提示使用教程

mask属性好像并没有起作用。有一点值得注意的是提示的延迟时间是有限制的,最大10000毫秒。

还有一个函数是wx.hideToast() ,这个是隐藏toast,主要用于显示加载提示的时候用到,如:

wx.showToast({
 title: '加载中',
 icon: 'loading',
 duration: 10000
})

setTimeout(function(){
 wx.hideToast()
},2000)

本来加载时间是10000毫秒的,然后2000毫秒的时候就隐藏了,这个具体情况而定了哈。

第二个弹窗是模态弹窗:wx.showModal(OBJECT)

参数如下:

微信小程序开发之toast等弹框提示使用教程

这个跟我们Android里面的Dialog相似,效果如下:

微信小程序开发之toast等弹框提示使用教程

代码如下:

wx.showModal({
 title: '提示',
 content: '模态弹窗',
 success: function (res) {
 if (res.confirm) {
 console.log('用户点击确定')
 }else{
 console.log('用户点击取消')
 }

 }
 })

最后一个是操作菜单:wx.showActionSheet(OBJECT)

这个函数我们在上一篇文章用过,这里说一下也无妨。

先看一下参数介绍:

微信小程序开发之toast等弹框提示使用教程

success有一个返回参数:

微信小程序开发之toast等弹框提示使用教程

这里直接贴官方实例了:

wx.showActionSheet({
 itemList: ['A', 'B', 'C'],
 success: function(res) {
 console.log(res.tapIndex)
 },
 fail: function(res) {
 console.log(res.errMsg)
 }
})

效果图:

微信小程序开发之toast等弹框提示使用教程

这里有个小问题,弹出showActionSheet之后,点击取消或者阴影处,会执行完fail之后,继续执行success函数,当然了,这里肯定有办法解决的,success其实有两个返回参数,除了tapIndex之外,还有一个就是cancle,cancle就是是否取消,返回一个boolean,在弹出这个框之后在success里面做个判断,if (!res.cancel) {做不取消的操作就行了}。当然了,你也可以自己来定义。

下面看个自定义弹窗的:

wxml:

<view class="commodity_screen" bindtap="hideModal" wx:if="{{showModalStatus}}"></view>
 <view animation="{{animationData}}" class="commodity_attr_box" wx:if="{{showModalStatus}}" bindtap="navigate">
 <text class="title">{{title}}</text>
 </view>

css:

.commodity_screen {
 width: 100%;
 height: 100%;
 position: fixed;
 top: 0;
 left: 0;
 background: #000;
 opacity: 0.2;
 overflow: hidden;
 z-index: 1000;
 color: #fff;
}

.commodity_attr_box {
 width: 100%;
 overflow: hidden;
 position: fixed;
 bottom: 0;
 left: 0;
 z-index: 2000;
 height: 60px;
 background: #fff;

}

.title {
 height: 100%;
 width: 100%;
 position: fixed;
 text-align: center;
 margin-top: 20px;
 margin-bottom: 20px;

}

js:

showView() {
 // 显示遮罩层
 var animation = wx.createAnimation({
 duration: 200,
 timingFunction: "linear",
 delay: 0
 })
 this.animation = animation
 animation.translateY(300).step()
 this.setData({
 animationData: animation.export(),
 showModalStatus: true
 })
 setTimeout(function () {
 animation.translateY(0).step()
 this.setData({
 animationData: animation.export()
 })
 }.bind(this), 200)
 },

 hideModal: function () {
 this.hideView();
 },

 hideView() {
 // 隐藏遮罩层
 var animation = wx.createAnimation({
 duration: 200,
 timingFunction: "linear",
 delay: 0
 })
 this.animation = animation
 animation.translateY(300).step()
 this.setData({
 animationData: animation.export(),
 })
 setTimeout(function () {
 animation.translateY(0).step()
 this.setData({
 animationData: animation.export(),
 showModalStatus: false
 })
 }.bind(this), 200)
 }

启用动画来做,效果杠杠的,自己动手来试试。

也可以使用action-sheet来布局,如下:

<action-sheet hidden="{{actionSheetHidden}}" bindchange="actionSheetChange">
 <block wx:for-items="{{actionSheetItems}}">
 <action-sheet-item class="item" bindtap="bind{{item}}">{{item}}</action-sheet-item>
 </block>
 <action-sheet-cancel class="cancel">取消</action-sheet-cancel>
</action-sheet>
Page({
data: {
 actionSheetHidden: true,
 actionSheetItems: items
 },
 actionSheetTap: function(e) {
 this.setData({
 actionSheetHidden: !this.data.actionSheetHidden
 })
 },
 actionSheetChange: function(e) {
 this.setData({
 actionSheetHidden: !this.data.actionSheetHidden
 })
 }
}
})

就是这么简单,赶紧动起来试试吧。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
Javascript Tab 导航插件 (23个)
Jun 11 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
Sep 12 Javascript
js 图片随机不定向浮动的实现代码
Jul 02 Javascript
jquery实现翻动fadeIn显示的方法
Mar 05 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
Mar 27 Javascript
基于jQuery的checkbox全选问题分析
Nov 18 Javascript
jquery validation验证表单插件
Jan 07 Javascript
JavaScript实现随机数生成器(去重)
Oct 13 Javascript
JavaScript反射与依赖注入实例详解
May 29 Javascript
浅谈VUE单页应用首屏加载速度优化方案
Aug 28 Javascript
Vue.js自定义指令学习使用详解
Oct 19 Javascript
javascript代码简写的几种常用方式汇总
Aug 23 Javascript
javascript实现二叉树遍历的代码
Jun 08 #Javascript
微信小程序tabbar不显示解决办法
Jun 08 #Javascript
javascript实现二叉树的代码
Jun 08 #Javascript
微信小程序搜索组件wxSearch实例详解
Jun 08 #Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
Jun 08 #Javascript
angular实现图片懒加载实例代码
Jun 08 #Javascript
微信小程序日历组件calendar详解及实例
Jun 08 #Javascript
You might like
隐藏你的.php文件的实现方法
2007/03/19 PHP
Zend Studio 无法启动的问题解决方法
2008/12/04 PHP
php中函数的形参与实参的问题说明
2010/09/01 PHP
PHP使用mysqldump命令导出数据库
2015/04/14 PHP
PHP中的print_r 与 var_dump 输出数组
2016/06/13 PHP
php版微信开发之接收消息,自动判断及回复相应消息的方法
2016/09/23 PHP
PHP实现文字写入图片功能
2019/02/18 PHP
javaScript 关闭浏览器 (不弹出提示框)
2010/01/31 Javascript
jQuery中ready事件用法实例
2015/01/19 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
JS中artdialog弹出框控件之提交表单思路详解
2016/04/18 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
JavaScript中清空数组的方法总结
2016/12/02 Javascript
详解windows下vue-cli及webpack 构建网站(二)导入bootstrap样式
2017/06/17 Javascript
jQuery 实现双击编辑表格功能
2017/06/19 jQuery
vue+iview写个弹框的示例代码
2017/12/05 Javascript
解决vue keep-alive 数据更新的问题
2018/09/21 Javascript
js实现超级玛丽小游戏
2020/03/18 Javascript
小程序实现多个选项卡切换
2020/06/19 Javascript
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
Python入门篇之条件、循环
2014/10/17 Python
python 简单备份文件脚本v1.0的实例
2017/11/06 Python
Python实现按特定格式对文件进行读写的方法示例
2017/11/30 Python
Python函数定义及传参方式详解(4种)
2019/03/18 Python
详解python使用turtle库来画一朵花
2019/03/21 Python
Django实现微信小程序支付的示例代码
2020/09/03 Python
html5与css3小应用
2013/04/03 HTML / CSS
初中生三年学习生活的自我评价
2013/11/03 职场文书
工地资料员岗位职责
2013/12/31 职场文书
人力资源主管职责范本
2014/03/05 职场文书
意向协议书范本
2014/04/23 职场文书
抵押贷款承诺书
2014/05/30 职场文书
学生违反校规检讨书
2014/10/28 职场文书
幼儿园亲子活动通知
2015/04/24 职场文书
撤诉状格式范本
2015/05/19 职场文书