toast最多見了,幾乎每一個App都有這樣的特效,先看下小程序自帶的toast效果,立馬想死的心都有了~~javascript
微信自帶toast的效果:html
js文件:java
wx.showToast({
title: '成功',
icon: 'success',
duration: 2000
})複製代碼
用法超級簡單,但官方小程序有幾個問題:git
咱們最多見的toast是偏底部,並且高度是比較小的那種~~github
先看效果:小程序
看似簡單,實現起來至關不簡單,如何實現:微信
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,是否是又忘了關注~~』