微信小程序开发教程之自定义toast实例

2018/8/2 19:46:51
摘要: 自从小程序发布以后,越来越多的开发者投入到小程序的开发当中去,而且微信有着相当完善的API和组件,使用起来简单

自从小程序发布以后,越来越多的开发者投入到小程序的开发当中去,而且微信有着相当完善的API和组件,使用起来简单,但是无奈,官方对API和组件的限制太多,想将这些官方的组件或者API运用到实际当中不太可能,所以一下将介绍怎么去写一个自定义的toast组件。

首先,先看一下官方的API的展示形式

微信小程序开发教程

 用法很简单,直接拷贝官方代码就好,代码如下:

Wx.showToast({

Title:’成功’,

Icon:’success’,

duration:2000

})

下面我将分享怎么自定义toast组件

1、现在component目录下新建一个toastTest目录

2、在toasTest.wxml文件里面新建一个自定义组件模块template,代码如下:

<template name=”toast”>

<view class=”toast_content_box” wx:if=”{{isHide}}”>

<view class=”toast_content”>

<view class=”toast_content_text”>

{{content}}

</view>

</view>

</view>

</view>

</template>

3、接下来就是样式代码,代码如下:

.toast_content_box{

display:flex;

width:100%;

height:100%;

justify_content:center;

align-items:center;

position:fixed;

z-index:999;

}

.toast_conten{

width:50%;

padding:30rpx;

background:rgba(0,0,0,0.8);

broder-radius:20rpx;

}

.toast_conten_text{

width:100%;

height:100%;

color:#fff;

font-size:28rpx;

text-align:center;

}

4、toastTest.js代码如下:

let _compDate={

'_toast_.isHide':false,

'_toast_.content':''

}

let toastPannel={

show:function(data){

let self = this;

this.setData({ '_toast_.isHide':true, '_toast_.content':data});

setTimeout(function(){

self.setData({'_toast_.isHide':false})

},3000)

}

}

 

function ToastPannel(){

let pages = getCurrentPages();

let curPage = pages[pages.length - 1 ];

this._page=curPage;

Object.assign(curPage,toastPannel);

curPage.toastPannel=this;

curPage.setData(_compDate);

return this;

}

 

module.exprorts={

ToastPannel

}

其中的toastPannel对象中包含一些自定义方法,ToastPannel是一个构造函数

 

5、在app.js中将组件脚本注入全局

//app.js

import{ToastPannel} from './component/toastTest/toastTest'

app({

ToastPannel,

})

然后再全局中引入组件样式表:

@import "./component/toastTest/toastTest.wxss";

 

6、在需要该组件的页面将模块注入

<import src="../../component/toastTest/toastTest.wxml"/>

<template is="toast" data="{{..._toast_}}"/>

<view bindtap="openToastPannel">toastTest测试</view>

 

7、在当前的JS文件中实例构造函数

 Page({

data:{

content:'自定义toast组件'

},

onLoad:function(){

let app = getApp();

new app.ToastPannel();

},

openToastPannel:function(){

this.show(this.data.content);

}

})

 

8、这就是自定义toast的实现效果啦

微信小程序教程


声明:文章"微信小程序开发教程之自定义toast实例"为互诚科技—微信小程序开发公司的原创文章,转载请注明出处,谢谢合作!
标签:小程序干货
电话咨询:18011971195(黄先生)
在线留言:
微信扫码,关注我们
相关文章
  • 小程序在未来的应用场景可以有哪些?

    现在的微信小程序应用场景除了线上之外,更多的是线下的。不过由于现在仍处于发展的初级阶段,所以不是每个行业都能在小程序开发的服务范围之内,一些仍未涉及到的行业还有待开发。这些有待开发的行业与应用场景,就是我们今天这篇文章要说的中心点。

  • 广州微信小程序开发,是否会颠覆应用格局

    微信小程序被开发后,不管以后会不会给应用界带来颠覆性的影响,但首先我们能确定

  • 如何避开小程序被封号的危险?

    前阵子风风火火的微信账号封号风波,给被封号微信自媒体的媒体人蒙头一棒,但也同时给同行业的人提了醒,让大家重新重视起微信的禁忌,以免被封号。而且,不仅微信公众号会有封号的危险,小程序账号也会

  • 一步教您学会微信小程序的上线发布流程

    小编在找了一资料之后,又根据公司在小程序开发业务上的实际情况,整理了一下小程序调试发布的步骤详细内容

  • 微信小程序开发技术教程:视图容器组件详解(二)

    接上次视图容器组建详解(一),我们今天继续来介绍两个组件样式。

  • 小程序入口总结:哪些入口效率比较高

    微信小程序从一开始的没有固定入口到现在已经发展成为多个入口结合一起发展的形式。不过,有很多入口,当然就会存在流量大的入口与流量较小的入口,企业商家掌握这些入口的大概效率,就能去较好地选择宣传方式与阵地

pc蛋蛋网站 广西快三 pc蛋蛋 pc蛋蛋 广西快三 pc蛋蛋 pc蛋蛋官网下载 广西快3 河北快三 河北快三