html封装百度小程序,百度小程序自定义通用toast组件

需求

手百小程序的toast仅支持在页中展示,不能自定义位置、字体大小、在单个文本中增加icon等需求;因此自定义一个全局可通用的Toast。

效果预览

c8198abc9eb260d3f3dc1c644009dccf.png

1be3437c287c30786af6e051da2aaaec.png

178c96c366a09b840dd1bdfeffdbbe25.png

7a4955a66a07bdb8a02a6968a0ce0f65.png

如何使用

代码目录位于 /widget/toast 下,包含3个文件

toast.js 脚本代码

toast.css 样式文件,可以根据自己需求定制

toast.swan 模板结构,可以根据自己需求定制

使用步骤一:

将/widget/toast的三个文件,放在与page同名的widget文件夹中,如果项目没有widget文件夹,就新建一个。

c3350fe88205894cc503400174a9cb80.png

使用步骤二:

在项目的整个 app.js 中引入,一次引入,所有page均可以使用:

// app.js

import { BdToast } from './widget/toast/toast.js';

App({

BdToast, // 挂载

onLaunch(options) {

// do something when launch

},

onShow(options) {

// do something when show

},

onHide() {

// do something when hide

}

});

使用步骤三:

在项目的app.css中引入 toast.css:

// app.css

@import "./widget/toast/toast.css";

使用步骤四:

在需要的page页面,将模板引入:

// pages/index/index.swan

使用步骤五

在具体的页面进行初始化调用:

/ 初始化

new app.BdToast();

// 具体调用:

Page({

data: {},

onLoad() {

new app.BdToast();

},

clickShowToast(e) {

switch (+e.target.dataset.id) {

case 1:

this.bdtoast.toast({

title: '仅显示标题'

});

break;

case 2:

this.bdtoast.toast({

title: '设置图片+文字',

iconSrc: '../../images/loading.gif'

});

break;

case 3:

this.bdtoast.toast({

title: '设置时间',

duration: 1000

});

break;

case 4:

this.bdtoast.toast({

title: '设置标题',

subTitle: '副标题'

});

break;

}

}

});

参数说明:

参数

类型

必填

说明

title

string

标题

iconSrc

string

icon地址,提供icon的url,icon大小为32px * 32px

subTitle

string

副标题,同时需要title存在才会显示,否则不显示副标题

duration

number

持续时间,不填默认1500毫秒

success

function

执行成功的回调

fail

function

执行失败的回调

complete

function

完成的回调,不管有没有执行成功

最后说明

例子Demo中也有关于toast的点击tap事件的绑定,因为此功能不是很常用,有兴趣的可以clone下来自行研究。另外,如果有样式结构或者样式不符合需求的话,可以自己在 widget/toast的源码中进行更新,直到符合自己的需求~

欢迎star、issue和pull request~

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值