当前位置:   article > 正文

uView Tabbar 底部导航栏

uView Tabbar 底部导航栏
优点:

此组件提供了自定义tabbar的能力,具有如下特点:

  • 图标可以使用字体图标(内置图标和扩展图标)或者图片
  • 可以动态切换菜单的数量以及配置
  • 切换菜单之前,可以进行回调鉴权
  • 可以设置角标或数字化提示
  • 有效防止组件区域高度塌陷,无需给父元素额外的内边距或者外边距来避开导航的区域

#平台差异说明

App(vue)App(nvue)H5小程序

#基本使用

推荐您使用list数组遍历循环,案例使用基础方式构建,请根据click事件回调进行后续逻辑操作

  1. <u-tabbar
  2. :value="value1"
  3. @change="change1"
  4. :fixed="false"
  5. :placeholder="false"
  6. :safeAreaInsetBottom="false"
  7. >
  8. <u-tabbar-item text="首页" icon="home" @click="click1" ></u-tabbar-item>
  9. <u-tabbar-item text="放映厅" icon="photo" @click="click1" ></u-tabbar-item>
  10. <u-tabbar-item text="直播" icon="play-right" @click="click1" ></u-tabbar-item>
  11. <u-tabbar-item text="我的" icon="account" @click="click1" ></u-tabbar-item>
  12. </u-tabbar>
  13. <!-- js -->
  14. value1: 0,
  15. click1(e) {
  16. console.log('click1', e);
  17. }

copy

#显示徽标

使用dot属性添加--小点--类型徽标,使用badge属性添加--数字--类型徽标。您也可以使用:badge='badge'动态设置徽标数量, 这在消息盒子的展示中是比较好用的功能,

  1. <u-tabbar
  2. :value="value2"
  3. :placeholder="false"
  4. @change="name => value2 = name"
  5. :fixed="false"
  6. :safeAreaInsetBottom="false"
  7. >
  8. <u-tabbar-item text="首页" icon="home" dot ></u-tabbar-item>
  9. <u-tabbar-item text="放映厅" icon="photo" badge="3"></u-tabbar-item>
  10. <u-tabbar-item text="直播" icon="play-right" ></u-tabbar-item>
  11. <u-tabbar-item text="我的" icon="account" ></u-tabbar-item>
  12. </u-tabbar>
  13. <!-- data -->
  14. value2: 1,

copy

#匹配标签的名称

  1. <u-tabbar
  2. :placeholder="false"
  3. :value="value3"
  4. @change="name => value3 = name"
  5. :fixed="false"
  6. :safeAreaInsetBottom="false"
  7. >
  8. <u-tabbar-item text="首页" icon="home" name="home"></u-tabbar-item>
  9. <u-tabbar-item text="放映厅" icon="photo" name="photo" ></u-tabbar-item>
  10. <u-tabbar-item text="直播" icon="play-right" name="play-right"></u-tabbar-item>
  11. <u-tabbar-item text="我的" name="account" icon="account" ></u-tabbar-item>
  12. </u-tabbar>
  13. <!-- data -->
  14. value3: 'play-right',

copy

#自定义图标/颜色

如您需要自定义图标/颜色,在u-tabbar-item标签中使用插槽active-iconinactive-icon来定义图标和颜色

  1. <u-tabbar
  2. :value="value4"
  3. @change="name => value4 = name"
  4. :fixed="false"
  5. :placeholder="false"
  6. activeColor="#d81e06"
  7. :safeAreaInsetBottom="false"
  8. >
  9. <u-tabbar-item text="首页">
  10. <image
  11. class="u-page__item__slot-icon"
  12. slot="active-icon"
  13. src="https://cdn.uviewui.com/uview/common/bell-selected.png"
  14. ></image>
  15. <image
  16. class="u-page__item__slot-icon"
  17. slot="inactive-icon"
  18. src="https://cdn.uviewui.com/uview/common/bell.png"
  19. ></image>
  20. </u-tabbar-item>
  21. <u-tabbar-item text="放映厅" icon="photo" ></u-tabbar-item>
  22. <u-tabbar-item text="直播" icon="play-right" ></u-tabbar-item>
  23. <u-tabbar-item text="我的" icon="account" ></u-tabbar-item>
  24. </u-tabbar>
  25. <!-- data -->
  26. value4: 0,

copy

#拦截切换事件(点击第二个标签)

在切换事件中,处理拦截事件或者您其他js操作逻辑。

  1. <u-tabbar
  2. :value="value5"
  3. :fixed="false"
  4. @change="change5"
  5. :safeAreaInsetBottom="false"
  6. :placeholder="false"
  7. >
  8. <u-tabbar-item text="首页" icon="home" ></u-tabbar-item>
  9. <u-tabbar-item text="放映厅" icon="photo" ></u-tabbar-item>
  10. <u-tabbar-item text="直播" icon="play-right" ></u-tabbar-item>
  11. <u-tabbar-item text="我的" icon="account" ></u-tabbar-item>
  12. </u-tabbar>
  13. <!-- data -->
  14. value5: 0,
  15. <!-- js -->
  16. change5(name) {
  17. if (name === 1) return uni.$u.toast('请您先登录')
  18. else this.value5 = name
  19. },

copy

#边框

组件默认带了顶部边框,如果不需要,配置borderfalse即可。

  1. <u-tabbar
  2. :value="value7"
  3. :placeholder="false"
  4. :border="false"
  5. @change="name => value7 = name"
  6. :fixed="false"
  7. :safeAreaInsetBottom="false"
  8. >
  9. <u-tabbar-item text="首页" icon="home" ></u-tabbar-item>
  10. <u-tabbar-item text="放映厅" icon="photo" ></u-tabbar-item>
  11. <u-tabbar-item text="直播" icon="play-right" ></u-tabbar-item>
  12. <u-tabbar-item text="我的" icon="account" ></u-tabbar-item>
  13. </u-tabbar>
  14. <!-- data -->
  15. value7: 3

copy

#固定在底部(固定在屏幕最下方)

与原生效果无异,但您可以按照api配置您需要的其他配置,如徽标,边框等

  1. <u-tabbar
  2. :value="value6"
  3. @change="name => value6 = name"
  4. :fixed="true"
  5. :placeholder="true"
  6. :safeAreaInsetBottom="true"
  7. >
  8. <u-tabbar-item text="首页" icon="home" ></u-tabbar-item>
  9. <u-tabbar-item text="放映厅" icon="photo" ></u-tabbar-item>
  10. <u-tabbar-item text="直播" icon="play-right" ></u-tabbar-item>
  11. <u-tabbar-item text="我的" icon="account" ></u-tabbar-item>
  12. </u-tabbar>
  13. <!-- data -->
  14. value6: 0,
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号