微信小程序开发之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判断录入的日期是否合法
Jan 08 Javascript
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
Feb 03 Javascript
探寻Javascript执行效率问题
Nov 12 Javascript
JavaScript接口的实现三种方式(推荐)
Jun 14 Javascript
AngularJS基础 ng-dblclick 指令用法
Aug 01 Javascript
JS实现“隐藏与显示”功能(多种方法)
Nov 24 Javascript
vue实现表格数据的增删改查
Jul 10 Javascript
深入理解react 组件类型及使用场景
Mar 07 Javascript
JavaScript从原型到原型链深入理解
Jun 03 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
Jun 11 Javascript
基于JavaScript获取base64图片大小
Oct 18 Javascript
JS字符串和数组如何实现相互转化
Jul 02 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实现今天是星期几的几种写法
2013/09/26 PHP
div li的多行多列 无刷新分页示例代码
2013/10/16 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
php判断表是否存在的方法
2015/06/18 PHP
PHP全功能无变形图片裁剪操作类与用法示例
2017/01/10 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
表单的一些基本用法与技巧
2006/07/15 Javascript
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
关于递归运算的顺序测试代码
2011/11/30 Javascript
通过jquery 获取URL参数并进行转码
2014/08/18 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
AngularJS入门教程之AngularJS表达式
2016/04/18 Javascript
使用JavaScript实现弹出层效果的简单实例
2016/05/31 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
模块化react-router配置方法详解
2019/06/03 Javascript
vue element-ul实现展开和收起功能的实例代码
2020/11/25 Vue.js
Python中函数的参数定义和可变参数用法实例分析
2015/06/04 Python
浅谈Python中的作用域规则和闭包
2018/03/20 Python
python 请求服务器的实现代码(http请求和https请求)
2018/05/25 Python
python3.6使用pymysql连接Mysql数据库
2018/05/25 Python
python 读写文件,按行修改文件的方法
2018/07/12 Python
Python爬虫小技巧之伪造随机的User-Agent
2018/09/13 Python
python3实现二叉树的遍历与递归算法解析(小结)
2019/07/03 Python
Django基础三之视图函数的使用方法
2019/07/18 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
2019/11/30 Python
Python利用for循环打印星号三角形的案例
2020/04/12 Python
python安装第三方库如xlrd的方法
2020/10/31 Python
里程积分管理买卖交换平台:Points.com
2017/01/13 全球购物
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
中学生个人自我评价
2014/02/06 职场文书
《九寨沟》教学反思
2014/04/08 职场文书
教师正风肃纪剖析材料
2014/10/20 职场文书
大学生思想道德自我评价
2015/03/09 职场文书
高三数学复习备考教学反思
2016/02/18 职场文书
Unity连接MySQL并读取表格数据的实现代码
2021/06/20 MySQL