微信小程序实战之自定义toast(6)

微信提供了一个toast的api  wx.showToast()
相关连接:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-react.html#wxshowtoastobject

本来是比较好的,方便使用,但是这个toast会显示出图标,而且不能去除。
假设:我们执行完业务的时候,toast一下,当执行成功的时候,效果还可以接受,如下图:

但是,当执行失败的时候,如下图:

失败了,你还显示个扣扣图案,那到底是成功还是失败??这肯定是不能接受的。

若是给老板看到这种效果,又是一顿臭骂,程序猿的委屈

下面介绍一个自定义的toast

效果:

具体实现:
wxml:

<!--按钮-->
<view style="{{isShowToast?'position:fixed;':''}}">
 <view class="btn" bindtap="clickBtn">button</view>
</view> 

<!--mask-->
<view class="toast_mask" wx:if="{{isShowToast}}"></view>
<!--以下为toast显示的内容-->
<view class="toast_content_box" wx:if="{{isShowToast}}">
 <view class="toast_content">
 <view class="toast_content_text">
  {{toastText}}
 </view>
 </view>
</view>

wxss:

Page {
 background: #fff;
}
/*按钮*/
.btn {
 font-size: 28rpx;
 padding: 15rpx 30rpx;
 width: 100rpx;
 margin: 20rpx;
 text-align: center;
 border-radius: 10rpx;
 border: 1px solid #000;
}
/*mask*/
.toast_mask {
 opacity: 0;
 width: 100%;
 height: 100%;
 overflow: hidden;
 position: fixed;
 top: 0;
 left: 0;
 z-index: 888;
}
/*toast*/
.toast_content_box {
 display: flex;
 width: 100%;
 height: 100%;
 justify-content: center;
 align-items: center;
 position: fixed;
 z-index: 999;
}
.toast_content {
 width: 50%;
 padding: 20rpx;
 background: rgba(0, 0, 0, 0.5);
 border-radius: 20rpx;
}
.toast_content_text {
 height: 100%;
 width: 100%;
 color: #fff;
 font-size: 28rpx;
 text-align: center;
}

js:

Page({
 data: {
 //toast默认不显示
 isShowToast: false
 },
 showToast: function () {
 var _this = this;
 // toast时间
 _this.data.count = parseInt(_this.data.count) ? parseInt(_this.data.count) : 3000;
 // 显示toast
 _this.setData({
  isShowToast: true,
 });
 // 定时器关闭
 setTimeout(function () {
  _this.setData({
  isShowToast: false
  });
 }, _this.data.count);
 },
 /* 点击按钮 */
 clickBtn: function () {
 console.log("你点击了按钮")
 //设置toast时间,toast内容
 this.setData({
  count: 1500,
  toastText: 'Michael's Toast'
 });
 this.showToast();
 }
}) 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 微信小程序 自定义Toast实例代码

    微信小程序 自定义Toast实例代码 Toast样式可以根据需求自定义,本例中是圆形 <!--按钮--> <view class="btn" bindtap="btn_toast">自定义Toast</view> <!--以下为toast显示的内容 opacity为透明度--> <view class="toast_box" style="opacity:{{0.9}}"

  • 微信小程序开发之实现自定义Toast弹框

    前言 之前有篇文章是写的Toast使用,但是有时候官方的样式并不能满足业务要求,怎么办呢,当然有解决办法了.有一个插件可以直接帮我们完成,WeToast. 先来看一下效果图: 怎么用呢,我们来看一下: WeTaost插件源码位于src目录下,包含3个文件. wetoast.js: 脚本代码 wetoast.wxml: 模板结构 wetoast.wxss: 样式 使用时只需要加入以上3个文件即可 第一步:在项目的app.js中引入wetoast.js,并注册到小程序上,小程序所有Page页面均可使

  • 微信小程序 Toast自定义实例详解

    微信小程序 Toast自定义实例详解 实现类似于Android的Toast提示 index.js: var timer; var inputinfo = ""; var app = getApp() Page({ data: { animationData:"", showModalStatus:false }, onLoad: function () { }, showModal: function () { // 显示遮罩层 var animation = wx

  • 微信小程序实战之自定义toast(6)

    微信提供了一个toast的api  wx.showToast() 相关连接:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-react.html#wxshowtoastobject 本来是比较好的,方便使用,但是这个toast会显示出图标,而且不能去除. 假设:我们执行完业务的时候,toast一下,当执行成功的时候,效果还可以接受,如下图: 但是,当执行失败的时候,如下图: 失败了,你还显示个扣扣图案,那到底是成功还是失败??这肯定是不能接受的

  • 微信小程序使用component自定义toast弹窗效果

    前言 微信小程序自带的消息提示框有字数限制,而且图标仅仅只有"success","loading","none".当我们在实际开发过程中,面对UI给的设计图稿和微信小程序默认提供的消息提示框具有很大差别的时候,自然就不能再使用微信小程序的消息提示框,而应当使用component自定义消息提示框组件. 效果图 Step1:初始化组件 新建一个components文件夹,这个文件夹用来存放我们以后要开发的所有自定义组件. 然后在components文

  • 微信小程序实战之自定义模态弹窗(8)

    首先看看官方提供的模态弹窗,供大家参考,具体内容如下 api如下: 示例: 这样的模态弹窗,充其量只能做个alert,提示一下信息. 但是并不能使用它来处理复杂性的弹窗业务,因此写了Michael从新自定义了一个,采用了仿原生的样式写法 wxml: <!--button--> <view class="btn" bindtap="powerDrawer" data-statu="open">button</view&

  • 微信小程序实战之自定义抽屉菜单(7)

    微信提供了动画api,就是下面这个 相关链接:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-animation.html#wxcreateanimationobject 通过使用这个创建动画的api,可以做出很多特效出来 下面介绍一个抽屉菜单的案例 实现代码: wxml: <!--button--> <view class="btn" bindtap="powerDrawer" data-sta

  • 微信小程序实战之仿android fragment可滑动底部导航栏(4)

    底部3-5个选项的底部导航栏,目前在移动端上是主流布局之一,因此腾讯官方特地做了,可以通过设置,就可以做出了一个底部的导航栏. 相关教程:微信小程序教程系列之设置标题栏和导航栏(7) 但是通过设置的这个底部的导航栏,功能上比较固定,它必须要设置与它对应的一个页面,而且并不能滑动. 在业务上,有时候会比较限制,并不能完全满足所需. 又例如早前有人拿着UI稿问我,这种广告轮播图的样式,在小程序能不能实现呢? 我当时没有想了下,还不是很确定,因为小程序的轮播图的那几个小点点实在比较普通,样式单一. 因

  • 微信小程序 实战程序简易新闻的制作

    微信小程序 实战项目: 简易新闻制作 先看下效果: 实现思路数据全部是采用的本地数据,图片也是本地图片,因为苦逼的个人开发者,无法认证:toolbar四个现象:新闻,笑话,历史上的今天和主页,集中主页采用的是默认的页面,添加自己的一些内容:数据绑定,列表渲染,条件渲染和事件的使用:使用一些基础的View和text,部分API的使用: 代码结构 目录 用途 images 存放本地图片 pages 存放页面,history历史上的今天,index主页,joke笑话,news新闻 utils 工具包

  • 微信小程序实现的自定义分享功能示例

    本文实例讲述了微信小程序实现的自定义分享功能.分享给大家供大家参考,具体如下: 大家都知道,小程序有分享的功能,可以分享整个程序,也可以自定义分享的内容 onShareAppMessage 在 Page 中定义 onShareAppMessage 函数,设置该页面的分享信息. 只有定义了此事件处理函数,右上角菜单才会显示"分享"按钮 用户点击分享按钮的时候会调用 此事件需要 return 一个 Object,用于自定义分享内容 示例代码: Page({ onShareAppMessag

  • 微信小程序系列之自定义顶部导航功能

    具备基础 vue框架:vue官方文档 mpvue框架:mpvue官方文档 全局配置 •找到全局的app.json文件,在配置中添加如下内容: "navigationStyle": "custom" "window": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#fff", &q

  • 微信小程序官方动态自定义底部tabBar的例子

    最近在做小程序的项目,由于用户需求在进入页面时进行选则角色,然后再进入小程序,这时看到的底部菜单看到的不一样,而我们都知道原生的tabBar是不支持这种做法的.在网上搜集了海量资料后发现无非两种解决方法:1.是建立模板,可是会有不能忍受的抖动:2.是利用小程序的组件开发:但是项目已经进行了一般,不可能再进行大的改变: 怎么办呢?? 无意在一条评论中发现说微信官方已经提供该组件,于是在小程序文档中寻找很久才在一个犄角旮旯找到:地址链接. 先看效果图: 1.首先看一下官方用法 这是几个非常重要你需要

  • 微信小程序页面调用自定义组件内的事件详解

    这篇文章主要介绍了微信小程序页面调用自定义组件内的事件详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 page page.json { "usingComponents": { "my-component": "../components/component/component", } } page.wxml <my-component id="myComponent&quo

随机推荐