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

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

1、微信官方默认toast

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

微信自带toast的效果:html

小程序默认toast效果

js文件:java

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

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

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

2、自定义toast

咱们最多见的toast是偏底部,并且高度是比较小的那种~~github

先看效果:小程序

自定义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主要有如下用法spa

核心代码:
let pages = getCurrentPages();
let curPage = pages[pages.length - 1];复制代码

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

核心代码:
let animation = wx.createAnimation();
animation.opacity(1).step();复制代码

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


源码下载

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

相关文章
相关标签/搜索