Skip to content

MephistoSun/wxapp-tabbar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

#微信小程序自定义tabbar组件

##如何使用 ####1.配置导航config并初始化组件

var tabbar = require('./tabbar/tabbar')
var data = {
  color: 'darkgrey',
  selectedColor: '#479de6',
  isReminder: true,
  list: [
    {
      tabName: 'Home',
      pagePath: ['pages/home/home', 'pages/home-content/home-content'],
      text: '首页',
      iconPath: 'images/iconfont-home.png',
      selectedIconPath: 'images/iconfont-home-active.png',
    },
    {
      tabName: 'List',
      pagePath: ['pages/list/list'],
      text: '分类',
      iconPath: 'images/iconfont-list.png',
      selectedIconPath: 'images/iconfont-list-active.png',
    },
    {
      tabName: 'Cart',
      pagePath: ['pages/cart/cart'],
      text: '购物车',
      iconPath: 'images/iconfont-cart.png',
      selectedIconPath: 'images/iconfont-cart-active.png',
    },
    {
      tabName: 'User',
      pagePath: ['pages/user/user'],
      text: '个人中心',
      iconPath: 'images/iconfont-user.png',
      selectedIconPath: 'images/iconfont-user-active.png',
    },
  ]
}

App({
  onLaunch: function () {
    tabbar.initComponent(this, data)
  },
  onShow: function () {
  }
})

####2.引入wxss样式表

@import './tabbar/tabbar.wxss'

####3.引入wxml模板

<import src="../../tabbar/tabbar.wxml" />
<template is="tabbar" data="{{ tabbar }}" />

##如何配置

var data = {
  color: 'darkgrey',//默认tab字体颜色
  selectedColor: '#479de6',//选中tab字体颜色
  isReminder: true,//是否启用提醒功能,可不添加该字段,默认不启用,不启用则无法使用setReminder与removeReminder方法
  list: [// tab list最多5个最少2个
    {
      tabName: 'Home',//tabName,必填,类似tabID
      pagePath: ['pages/home/home', 'pages/home-content/home-content'],//tab下所属路径,默认会自动根据此此段来匹配是否为选中状态,首项为主页
      text: '首页',//tab文字
      iconPath: 'images/iconfont-home.png',//tab默认图标
      selectedIconPath: 'images/iconfont-home-active.png',//tab选中图标
    },
    {
      tabName: 'List',
      pagePath: ['pages/list/list'],
      text: '分类',
      iconPath: 'images/iconfont-list.png',
      selectedIconPath: 'images/iconfont-list-active.png',
    },
    {
      tabName: 'Cart',
      pagePath: ['pages/cart/cart'],
      text: '购物车',
      iconPath: 'images/iconfont-cart.png',
      selectedIconPath: 'images/iconfont-cart-active.png',
    },
    {
      tabName: 'User',
      pagePath: ['pages/user/user'],
      text: '个人中心',
      iconPath: 'images/iconfont-user.png',
      selectedIconPath: 'images/iconfont-user-active.png',
    },
  ]
}

##如何使用 ####在需要引用的页面初始化tabbar app.tabbar.init()//无参数

var app = getApp()

Page({
  data: {},
  onLoad: function (options) {
    // 页面初始化 options为页面跳转所带来的参数
  },
  onReady: function () {
    // 页面渲染完成
  },
  onShow: function () {
    // 页面显示
    app.tabbar.init()
  },
  onHide: function () {
    // 页面隐藏
  },
  onUnload: function () {
    // 页面关闭
  }
})

####手动切换tab页面 app.tabbar.switchTab(tabName)//单一参数,跳转到tabName的tab主页

var app = getApp()

Page({
  data: {},
  onLoad: function (options) {
    // 页面初始化 options为页面跳转所带来的参数
  },
  onReady: function () {
    // 页面渲染完成
  },
  onShow: function () {
    // 页面显示
    // 跳转到tabName为List的tab主页面
    app.tabbar.switchTab('List')
  },
  onHide: function () {
    // 页面隐藏
  },
  onUnload: function () {
    // 页面关闭
  }
})

####设置提示 app.tabbar.setReminder(tabName1, tabName2,...)//多参数,参数为tabName

var app = getApp()

Page({
  data: {},
  onLoad: function (options) {
    // 页面初始化 options为页面跳转所带来的参数
  },
  onReady: function () {
    // 页面渲染完成
  },
  onShow: function () {
    // 页面显示
    // 设置tabName为List的tab提醒
    app.tabbar.setReminder('List')
  },
  onHide: function () {
    // 页面隐藏
  },
  onUnload: function () {
    // 页面关闭
  }
})

####取消提醒 app.tabbar.removeReminder(tabName1, tabName2,...)//多参数,参数为tabName

var app = getApp()

Page({
  data: {},
  onLoad: function (options) {
    // 页面初始化 options为页面跳转所带来的参数
  },
  onReady: function () {
    // 页面渲染完成
  },
  onShow: function () {
    // 页面显示
    // 取消tabName为List的tab提醒
    app.tabbar.removeReminder('List')
  },
  onHide: function () {
    // 页面隐藏
  },
  onUnload: function () {
    // 页面关闭
  }
})

##PS ####PS作者鼓励修改源文件来自定义tabbar或者添加动画等 ####暂时只有es5版本,es6版本待定中

##Enjoy it

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published