微信小程序之『自定義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,是否是又忘了關注~~』

相關文章
相關標籤/搜索