• 选项卡(bui-tabbar)
    • 用法
    • 属性
    • 事件

    选项卡(bui-tabbar)

    选项卡(bui-tabbar) - 图1   选项卡(bui-tabbar) - 图2

    用法

    选项卡的实现使用方式:bui-tabbar + slider,充分利用slider的滑动特性。

    实现:

    • bui-tabbar 通过控制 currentTab(v-model)索引来实现选中效果。
    • slider 通过 @change事件改变 index 和 currentTab 实现联动。
    • 要实现底部选项卡,只需要将 bui-tabbar 和 slider 区域对调即可;

    html关键代码如下:

    1. <bui-tabbar :tabItems="tabItems" showSelectedLine=true @change="onItemChange" v-model="currentTab"></bui-tabbar>
    2. <slider class="slider" @change="onSliderChange" :index="currentTab">
    3. <div class="slider-item">
    4. <text class="h1">tab0</text>
    5. </div>
    6. <div class="slider-item">
    7. <text class="h1">tab1</text>
    8. </div>
    9. <div class="slider-item">
    10. <text class="h1">tab2</text>
    11. </div>
    12. <div class="slider-item">
    13. <text class="h1">tab3</text>
    14. </div>
    15. </slider>

    JS关键代码如下:

    1. module.exports = {
    2. data: function () {
    3. return {
    4. leftItem: {
    5. icon: 'ion-chevron-left'
    6. },
    7. currentTab:1,
    8. tabItems: [
    9. {
    10. title: "首页",
    11. icon: "ion-home"
    12. },
    13. {
    14. icon: "ion-planet",
    15. title: "探索"
    16. },
    17. {
    18. icon: "ion-ios-cart",
    19. title: "商城"
    20. },
    21. {
    22. icon: "ion-ribbon-a",
    23. title: "奖励"
    24. }
    25. ]
    26. }
    27. },
    28. methods: {
    29. back() {
    30. this.$pop();
    31. },
    32. onItemChange(index){
    33. },
    34. onSliderChange(e){
    35. var index = e.index;
    36. this.currentTab=index;
    37. }
    38. }
    39. }

    Example: bui-tabbar

    属性

    Prop Type Required Default Description
    tabItems array Y 选项卡数据(数组),每个item应包含 icon, title 字段
    value number Y 索引,外部使用 v-model
    height string N 100px 高度
    iconSize string N 45px 图标大小
    titleSize string N 22px 字体大小
    background string N #f7f7f7 背景颜色
    selectedBackground string N #f7f7f7 选中的背景颜色
    normalColor string N #818181 文字图标默认颜色
    selectedColor string N #4ca4fe 文字图标选中的颜色
    borderBottomColor string N #4ca4fe 底部边框颜色
    showSelectedLine bool N false 选中项底部显示边框
    containerStyle object N 外层容器扩展样式
    itemStyle object N 每个item扩展样式

    事件

    支持 @change事件,返回当前选中 item 的 index