微信小程序开发教程之自定义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(黄先生)
在线留言:
微信扫码,关注我们
相关文章
  • 如何避开小程序被封号的危险?

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

  • 定制化微信小程序为何价格会高那么多

    无论是定制版本的微信小程序还是公众号、微商城,价格都会比模板制作的高出一些。那为什么会高?又高在哪里?这两个问题的回答就能让企业商家看出定制开发是否值得,所以小编得摩拳擦掌来好好夸大其词了。

  • 从开发公司角度谈微信小程序开发的实践问题

    作为一个对微信小程序开发与运营有一定了解的开发公司小编,对于一些在开发工作期间的注意事项以及开发后的管理、运营问题

  • 广州企业外包微信小程序开发要注意什么

    广州企业千千万,微信小程序开发公司也不少,相较于企业自己开发小程序,选择开发公司会比较省时省力。不过虽然如此,但是这并不代表企业就没有注意事项,在选择好开发公司之后,自己的也要融入到开发的工作当中,将自己的想法全面传达给开发公司

  • 微信小程序开发基础知识说明

    微信小程序开发之前,需要申请注册一个小程序账号,并下载开发工具;而在开发完成之后,则需要对开发效果进行测试

  • 微信小程序开发结合什么商业模式会更有利于其发展

    随着微信小程序的高调崛起,各类行业的需求开发者也在逐渐将目光看向小程序开发。