微信小程序实战之自定义toast(6)


Posted in Javascript onApril 18, 2017

微信提供了一个toast的api  wx.showToast()
相关连接:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-react.html#wxshowtoastobject 

本来是比较好的,方便使用,但是这个toast会显示出图标,而且不能去除。
假设:我们执行完业务的时候,toast一下,当执行成功的时候,效果还可以接受,如下图:

 微信小程序实战之自定义toast(6)

但是,当执行失败的时候,如下图:

失败了,你还显示个扣扣图案,那到底是成功还是失败??这肯定是不能接受的。

若是给老板看到这种效果,又是一顿臭骂,程序猿的委屈

微信小程序实战之自定义toast(6)

下面介绍一个自定义的toast

效果:

微信小程序实战之自定义toast(6) 

具体实现:
wxml:

<!--按钮--> 
<view style="{{isShowToast?'position:fixed;':''}}"> 
 <view class="btn" bindtap="clickBtn">button</view> 
</view> 
 
<!--mask--> 
<view class="toast_mask" wx:if="{{isShowToast}}"></view> 
<!--以下为toast显示的内容--> 
<view class="toast_content_box" wx:if="{{isShowToast}}"> 
 <view class="toast_content"> 
 <view class="toast_content_text"> 
  {{toastText}} 
 </view> 
 </view> 
</view>

wxss:

Page { 
 background: #fff; 
} 
/*按钮*/ 
.btn { 
 font-size: 28rpx; 
 padding: 15rpx 30rpx; 
 width: 100rpx; 
 margin: 20rpx; 
 text-align: center; 
 border-radius: 10rpx; 
 border: 1px solid #000; 
} 
/*mask*/ 
.toast_mask { 
 opacity: 0; 
 width: 100%; 
 height: 100%; 
 overflow: hidden; 
 position: fixed; 
 top: 0; 
 left: 0; 
 z-index: 888; 
} 
/*toast*/ 
.toast_content_box { 
 display: flex; 
 width: 100%; 
 height: 100%; 
 justify-content: center; 
 align-items: center; 
 position: fixed; 
 z-index: 999; 
} 
.toast_content { 
 width: 50%; 
 padding: 20rpx; 
 background: rgba(0, 0, 0, 0.5); 
 border-radius: 20rpx; 
} 
.toast_content_text { 
 height: 100%; 
 width: 100%; 
 color: #fff; 
 font-size: 28rpx; 
 text-align: center; 
}

js:

Page({ 
 data: { 
 //toast默认不显示 
 isShowToast: false 
 }, 
 showToast: function () { 
 var _this = this; 
 // toast时间 
 _this.data.count = parseInt(_this.data.count) ? parseInt(_this.data.count) : 3000; 
 // 显示toast 
 _this.setData({ 
  isShowToast: true, 
 }); 
 // 定时器关闭 
 setTimeout(function () { 
  _this.setData({ 
  isShowToast: false 
  }); 
 }, _this.data.count); 
 }, 
 /* 点击按钮 */ 
 clickBtn: function () { 
 console.log("你点击了按钮") 
 //设置toast时间,toast内容 
 this.setData({ 
  count: 1500, 
  toastText: 'Michael's Toast' 
 }); 
 this.showToast(); 
 } 
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Code: write(s,d) 输出连续字符串
Aug 19 Javascript
javascript对象之内置对象Math使用方法
Apr 16 Javascript
用JS写的一个Ajax库(实例代码)
Aug 06 Javascript
js仿百度音乐全选操作
Jan 13 Javascript
利用Three.js如何实现阴影效果实例代码
Sep 26 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
Nov 29 Javascript
JS实现的RC4加密算法示例
Aug 16 Javascript
微信小程序常用赋值方法小结
Apr 30 Javascript
webpack-mvc 传统多页面组件化开发详解
May 07 Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
Feb 19 Javascript
vuex 多模块时 模块内部的mutation和action的调用方式
Jul 24 Javascript
React-vscode使用jsx语法的问题及解决方法
Jun 21 Javascript
Jquery-data的三种用法
Apr 18 #jQuery
微信小程序实战之登录页面制作(5)
Mar 30 #Javascript
Angular2数据绑定详解
Apr 18 #Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
Jun 29 #Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
Apr 16 #Javascript
JavaScript实现前端实时搜索功能
Mar 26 #Javascript
用 js 的 selection range 操作选择区域内容和图片
Apr 18 #Javascript
You might like
PHP截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
php之curl设置超时实例
2014/11/03 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
ParseInt函数参数设置介绍
2014/01/02 Javascript
JS使用replace()方法和正则表达式进行字符串的搜索与替换实例
2014/04/10 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015/10/10 Javascript
JavaScript的Backbone.js框架的一些使用建议整理
2016/02/14 Javascript
javascript的正则匹配方法学习
2016/02/24 Javascript
JS组件Bootstrap按钮组与下拉按钮详解
2016/05/10 Javascript
js removeChild 方法深入理解
2016/08/16 Javascript
canvas绘制七巧板
2017/02/03 Javascript
mac上node.js环境的安装测试
2017/07/03 Javascript
JS仿QQ好友列表展开、收缩功能(第二篇)
2017/07/07 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
[04:44]显微镜下的DOTA2第二期——你所没有注意到的细节
2014/06/20 DOTA
[05:14]辉夜杯主赛事第二日 RECAP精彩回顾
2015/12/27 DOTA
Python数据分析库pandas基本操作方法
2018/04/08 Python
Linux下多个Python版本安装教程
2018/08/15 Python
Python-ElasticSearch搜索查询的讲解
2019/02/25 Python
Django框架models使用group by详解
2020/03/11 Python
python如何绘制疫情图
2020/09/16 Python
简单html5代码获取地理位置
2014/03/31 HTML / CSS
德国的各种媒体在线商店:Thalia.de(书籍、电子书、玩具等)
2020/10/08 全球购物
汉语言文学专业自荐信
2014/06/11 职场文书
优秀乡村医生先进事迹材料
2014/08/23 职场文书
机械制造专业大学生自我鉴定
2014/09/19 职场文书
加薪通知
2015/04/25 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
二审代理词范文
2015/05/25 职场文书
暂住证明怎么写
2015/06/19 职场文书
交通安全学习心得体会
2016/01/18 职场文书
九年级化学教学反思
2016/02/22 职场文书
SpringBoot前端后端分离之Nginx服务器下载安装过程
2022/08/14 Servers