微信小程序自定义toast实现方法详解【附demo源码下载】
程序员文章站
2024-01-02 18:32:34
本文实例讲述了微信小程序自定义toast实现方法。分享给大家供大家参考,具体如下:
一、微信官方默认toast
toast最常见了,几乎每个app都有这样的特效,先看下...
本文实例讲述了微信小程序自定义toast实现方法。分享给大家供大家参考,具体如下:
一、微信官方默认toast
toast最常见了,几乎每个app都有这样的特效,先看下小程序自带的toast效果,立马想死的心都有了~~
微信自带toast的效果:
js文件:
wx.showtoast({ title: '成功', icon: 'success', duration: 2000 })
用法超级简单,但官方小程序有几个问题:
只能显示success、loading两种icon
且icon不可去除
持续时间最大10秒
二、自定义toast
我们最常见的toast是偏底部,而且高度是比较小的那种~~
先看效果:
看似简单,实现起来相当不简单,如何实现:
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实例代码点击此处。
希望本文所述对大家微信小程序开发有所帮助。