微信小程序自定义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 相关文章推荐
jQuery Ajax中的事件详细介绍
Apr 16 Javascript
学习JavaScript设计模式之中介者模式
Jan 14 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
Jan 19 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
Mar 10 Javascript
jQuery EasyUI提交表单验证
Jul 19 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
Aug 05 Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
Aug 11 Javascript
ES7之Async/await的使用详解
Mar 28 Javascript
Vue+Express实现登录注销功能的实例代码
May 05 Javascript
vue-cli3添加模式配置多环境变量的方法
Jun 05 Javascript
JavaScript获取当前url路径过程解析
Dec 27 Javascript
微信小程序自定义tabBar的踩坑实践记录
Nov 06 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批量生成静态HTML的简单原理和方法
2014/04/20 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
2019/08/05 PHP
Javascript 模式实例 观察者模式
2009/10/24 Javascript
jquery+ashx无刷新GridView数据显示插件(实现分页、排序、过滤功能)
2010/04/25 Javascript
jQuery之日期选择器的深入解析
2013/06/19 Javascript
jQuery Ajax异步处理Json数据详解
2013/11/05 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
jQuery实现文字自动横移
2017/01/08 Javascript
JS中Select下拉列表类(支持输入模糊查询)功能
2017/01/17 Javascript
vue.js实现标签页切换效果
2018/06/07 Javascript
如何测量vue应用运行时的性能
2019/06/21 Javascript
layui 对table中的数据进行转义的实例
2019/09/12 Javascript
vue框架中props的typescript用法详解
2020/02/17 Javascript
vue实现带过渡效果的下拉菜单功能
2020/02/19 Javascript
JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
2020/03/02 Javascript
[04:52]DOTA2亚洲邀请赛附加赛 TOP10精彩集锦
2015/01/29 DOTA
[59:35]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第一场 1月8日
2021/03/11 DOTA
Django关于admin的使用技巧和知识点
2020/02/10 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
美国珠宝精品店:Opulent Jewelers
2019/08/20 全球购物
设计模式的基本要素是什么
2014/04/21 面试题
新浪微博实习心得体会
2014/01/27 职场文书
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
商铺租赁意向书
2014/04/01 职场文书
村道德模范事迹材料
2014/08/28 职场文书
旷工检讨书1000字
2015/01/01 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书
热血教师观后感
2015/06/10 职场文书
个人职业生涯规划之自我评估篇
2019/09/03 职场文书
如何用Python搭建gRPC服务
2021/06/30 Python
Python中三种花式打印的示例详解
2022/03/19 Python
shell进度条追踪指令执行时间的场景分析
2022/06/16 Servers