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

一、微信官方默认toast

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

微信自带toast的效果: 
小程序默认toast效果 
js文件:

wx.showToast({
    title: '成功',
    icon: 'success',
    duration: 2000
})
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

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

只能显示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>
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

2)JS主要有以下用法

核心代码:

let pages = getCurrentPages();
let curPage = pages[pages.length - 1];
 
 
  • 1
  • 2
  • 1
  • 2

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

核心代码:

let animation = wx.createAnimation();
animation.opacity(1).step();
 
 
  • 1
  • 2
  • 1
  • 2

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

作者:小小小 原文地址

demo下载地址 
CSDN微信小程序开发专栏,欢迎关注!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值