微信小程序之『自定义toast』

来源:互联网 发布:英文听书软件 编辑:程序博客网 时间:2024/06/10 19:18

转载:请写明掘金原文链接及作者名 ‘小小小’
一个潜心研究小程序QQ群:139128168 ← 点击加群

一、微信官方默认toast

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

微信自带toast的效果:

小程序默认toast效果

js文件:

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

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

  • 只能显示success、loading两种icon
  • 且icon不可去除
  • 持续时间最大10秒

二、自定义toast

我们最常见的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消失的时候有一个缓慢的动画效果。



源码下载

『咻咻咻咻duang,是不是又忘了关注~~』

3 0