柿霖不是林 发表于 2017-2-16 17:17:33

微信小程序自定义组件:带未读数目的tabBar按钮

点评:很多人正在找的东西!

微信小程序自定义组件:带未读数目的tab按钮组件的使用可以直接复制dist中的文件,到你的项目的pages页。如果放到其他的目录,需要相应修改下列引用中的路径( ./path/to/file/tabbar.subfix )index.wxml (页面的 wxml文件中)<!-- 在需要的页面的头部 引入wxml -->
<import src="../template/tabbar.wxml"/>
<!-- 直接引入 -->
<template is="tab-bar" data="{{ jhDataForTabbar }}"/>

<!--
    其他的页面的元素
-->

#### index.wxss (页面的 wxss 文件)/* 引入tabbar的样式 */
@import "../template/tabbar.wxss";





index.js (页面的 js 文件)文件头部:import {
   init,                  // 初始化组件及页面
   Tabbar,                  // Tabbar是组件的事件注册中心
   setTabbarData            // 设置/更新 tabbar显示的数据
} from "../template/tabbar";





文件内部:调用init(object)函数,初始化页面let UserPageData = {
    data: {
      name: "Jonham.Chen"
    },
    onLoad: function() {
    },
    // ... any others
};

init(UserPageData);





文件内部:调用setTabbarData(object)函数,设置及更新tabbar的数据const tabbarData = [];
tabbarData.push({
    iCount: 1,            //未读数目
    sIconUrl: 'imageUrl',   //按钮图标的url或者 相对路径
    sTitle: "title",      //按钮名称
});

setTabbarData(tabbarData);





文件内部:调用Tabbar.addListener(fn)函数增加tab的监听事件/** Tabbar.addListener( fn )   增加监听事件
*       .removeListener( fn )移除监听事件
*       .removeAll()         移除所有监听事件
*
*/
Tabbar.addListener(function(ev) {
    console.log(ev);
    // ev.key === 'note'
    // ev的key对应被点击的tab的title
});





PS: 当然,可以通过 git clone https://github.com/Jonham/weapp-component-tabbar.git 命令,直接用 微信开发者工具 打开目录即可预览。
**** Hidden Message *****


adison2080 发表于 2018-8-16 16:04:27

直线方程   

jack56846 发表于 2020-4-6 15:05:47

专注于与个人游戏开发者合作,有产品的朋友联系微,信,号j i m 2 0 1 8 0 6 8 8,详聊
页: [1]
查看完整版本: 微信小程序自定义组件:带未读数目的tabBar按钮