微信小程序自定义toast实现方法详解【附demo源码下载】


Posted in Javascript onNovember 28, 2017

本文实例讲述了微信小程序自定义toast实现方法。分享给大家供大家参考,具体如下:

一、微信官方默认toast

toast最常见了,几乎每个App都有这样的特效,先看下小程序自带的toast效果,立马想死的心都有了~~

微信自带toast的效果:

微信小程序自定义toast实现方法详解【附demo源码下载】

js文件:

wx.showToast({
 title: '成功',
 icon: 'success',
 duration: 2000
})

用法超级简单,但官方小程序有几个问题:

只能显示success、loading两种icon

且icon不可去除

持续时间最大10秒

二、自定义toast

我们最常见的toast是偏底部,而且高度是比较小的那种~~

先看效果:

微信小程序自定义toast实现方法详解【附demo源码下载】

看似简单,实现起来相当不简单,如何实现:

1)建立一个公共的toast的template模板文件,因为每个页面都需要用到toast

<!-- wetoast.wxml -->
<template name="wetoast">
 <view class="wetoast {{reveal ? 'wetoast_show' : ''}}">
  <view class="wetoast__mask"></view>
  <view class="wetoast__bd {{position}}" animation="{{animationData}}">
   <block wx:if="{{title}}">
    <view class="wetoast__bd__title {{titleClassName || ''}}">{{title}}</view>
   </block>
  </view>
 </view>
</template>

2)JS主要有以下用法

核心代码:

let pages = getCurrentPages();
let curPage = pages[pages.length - 1];

这段代码是核心,getCurrentPages().length - 1 表示可以获得当前页面的page,只有获得了page,才能通过page.setData把当前页面的数据绑定到toast上面。

核心代码:

let animation = wx.createAnimation();
animation.opacity(1).step();

这段代码是toast消失的时候有一个缓慢的动画效果。

附:完整demo实例代码点击此处本站下载

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
Javascript实例教程(19) 使用HoTMetal(1)
Dec 23 Javascript
PHP使用方法重载实现动态创建属性的get和set方法
Nov 17 Javascript
关于js里的this关键字的理解
Aug 17 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
Nov 24 Javascript
Vue自定义过滤器格式化数字三位加一逗号实现代码
Mar 23 Javascript
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
Apr 17 jQuery
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
Oct 19 Javascript
JavaScript时间与时间戳的转换操作实例分析
Dec 07 Javascript
elementUI select组件默认选中效果实现的方法
Mar 25 Javascript
详解vue 图片上传功能
Apr 30 Javascript
使用Vue实现一个树组件的示例
Nov 06 Javascript
keep-alive保持组件状态的方法
Dec 02 Javascript
vue2.0与bootstrap3实现列表分页效果
Nov 28 #Javascript
Vue.JS项目中5个经典Vuex插件
Nov 28 #Javascript
Vue实现web分页组件详解
Nov 28 #Javascript
基于vue2实现左滑删除功能
Nov 28 #Javascript
JavaScript生成简单等差数列
Nov 28 #Javascript
微信小程序用户自定义模版用法实例分析
Nov 28 #Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
Nov 28 #Javascript
You might like
PHP学习之数组的定义和填充
2011/04/17 PHP
php开发过程中关于继承的使用方法分享
2011/06/17 PHP
php中session退出登陆问题
2014/02/27 PHP
php实现与erlang的二进制通讯实例解析
2014/07/23 PHP
Laravel框架数据库CURD操作、连贯操作总结
2014/09/03 PHP
jQuery调用WebService的实现代码
2011/06/19 Javascript
输入密码检测大写是否锁定js实现代码
2012/12/03 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
2012/12/17 Javascript
Js控制弹窗实现在任意分辨率下居中显示
2013/08/01 Javascript
jQuery $.each遍历对象、数组用法实例
2015/04/16 Javascript
JavaScript中各种引用类型的常用操作方法小结
2016/05/05 Javascript
[原创]jQuery常用的4种加载方式分析
2016/07/25 Javascript
详谈JavaScript的闭包及应用
2017/01/17 Javascript
three.js实现3D视野缩放效果
2017/11/16 Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
2018/07/12 Javascript
Vue 与 Vuex 的第一次接触遇到的坑
2018/08/16 Javascript
微信小程序错误this.setData报错及解决过程
2019/09/18 Javascript
vue实现pdf文档在线预览功能
2019/11/26 Javascript
JavaScript 替换所有匹配内容及正则替换方法
2020/02/12 Javascript
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
在Python中使用PIL模块处理图像的教程
2015/04/29 Python
python使用socket远程连接错误处理方法
2015/04/29 Python
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
python的concat等多种用法详解
2018/11/28 Python
python安装scipy的方法步骤
2019/06/26 Python
python障碍式期权定价公式
2019/07/19 Python
python中安装django模块的方法
2020/03/12 Python
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
财务会计专业应届毕业生求职信
2013/10/18 职场文书
医学毕业生自我鉴定
2013/10/30 职场文书
求职意向书
2014/07/29 职场文书
在教室放鞭炮的检讨书
2014/09/28 职场文书
前台文员岗位职责
2015/02/04 职场文书
社区母亲节活动总结
2015/02/10 职场文书
AngularJS实现多级下拉框
2022/03/25 Javascript
CentOS7和8下安装Maven3.8.4
2022/04/07 Servers