重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

小程序怎么实现自定义通用toast组件

本文小编为大家详细介绍“小程序怎么实现自定义通用toast组件”,内容详细,步骤清晰,细节处理妥当,希望这篇“小程序怎么实现自定义通用toast组件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

创新互联是一家专业提供柯坪企业网站建设,专注与网站建设、成都网站设计、H5建站、小程序制作等业务。10年已为柯坪众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

需求

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

效果预览

小程序怎么实现自定义通用toast组件

小程序怎么实现自定义通用toast组件

小程序怎么实现自定义通用toast组件

小程序怎么实现自定义通用toast组件

如何使用

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

  • toast.js 脚本代码

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

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

使用步骤一:

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

小程序怎么实现自定义通用toast组件

使用步骤二:

在项目的整个 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;
  }
 }
});

参数说明:

参数类型必填说明
titlestring标题
iconSrcstringicon地址,提供icon的url,icon大小为32px * 32px
subTitlestring副标题,同时需要title存在才会显示,否则不显示副标题
durationnumber持续时间,不填默认1500毫秒
successfunction执行成功的回调
failfunction执行失败的回调
completefunction完成的回调,不管有没有执行成功

读到这里,这篇“小程序怎么实现自定义通用toast组件”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注创新互联行业资讯频道。


当前标题:小程序怎么实现自定义通用toast组件
转载源于:http://cqcxhl.com/article/jsiije.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP