微信小程序自定义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 相关文章推荐
js电话号码验证方法
Sep 28 Javascript
基于JavaScript实现添加到购物车效果附源码下载
Aug 22 Javascript
页面间固定参数,通过cookie传值的实现方法
May 31 Javascript
Node学习记录之cluster模块
May 31 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
Aug 19 Javascript
微信小程序扫描二维码获取信息实例详解
May 07 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
Jul 10 Javascript
Vue路由模块化配置的完整步骤
Aug 14 Javascript
es6中reduce的基本使用方法
Sep 10 Javascript
JS实现图片切换特效
Dec 23 Javascript
Vue js with语句原理及用法解析
Sep 03 Javascript
js实现弹框效果
Mar 24 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
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
电脑硬件及电脑配置知识大全
2020/03/17 数码科技
浅析PHP中Collection 类的设计
2013/06/21 PHP
PHP动态编译出现Cannot find autoconf的解决方法
2014/11/05 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
如何在标题栏显示框架内页面的标题
2007/02/03 Javascript
Javascript !!的作用
2008/12/04 Javascript
jQuery live( type, fn ) 委派事件实现
2009/10/11 Javascript
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
getElementByIdx_x js自定义getElementById函数
2012/01/24 Javascript
Java File类的常用方法总结
2015/03/18 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
node网页分段渲染详解
2016/09/05 Javascript
基于Node.js的WebSocket通信实现
2017/03/11 Javascript
详解基于Vue+Koa的pm2配置
2017/10/24 Javascript
使用vue-router完成简单导航功能【推荐】
2018/06/28 Javascript
bootstrapTable+ajax加载数据 refresh更新数据
2018/08/31 Javascript
微信小程序自定义轮播图
2018/11/04 Javascript
浅析Python四种数据类型
2018/09/26 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
2019/02/27 Python
python求最大值,不使用内置函数的实现方法
2019/07/09 Python
python如何通过pyqt5实现进度条
2020/01/20 Python
信号生成及DFT的python实现方式
2020/02/25 Python
使用Python发现隐藏的wifi
2020/03/04 Python
linux 下selenium chrome使用详解
2020/04/02 Python
pandas读取csv文件提示不存在的解决方法及原因分析
2020/04/21 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
2020/07/01 Python
Keras搭建自编码器操作
2020/07/03 Python
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
2021/01/24 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
2021/01/27 Python
世界顶级俱乐部的官方球衣和套装:Subside Sports
2018/04/22 全球购物
资助贫困学生倡议书
2014/05/16 职场文书
消防宣传口号
2014/06/16 职场文书
银行领导班子四风对照检查材料
2014/09/27 职场文书
党的群众路线教育实践活动总结
2014/10/30 职场文书
公司规章制度范本
2015/08/03 职场文书