当前位置:   article > 正文

uniapp实现自定义tabbar【直用版】_uniapp 自定义下方tabbar

uniapp 自定义下方tabbar

1.pages.json中将tabBar下面全部注释掉

2.在common文件夹下面建一个tabbar文件夹,里面放个tabbar.vue(位置,名称自己随意)

tabbar.vue:(直接复制)

  1. <template>
  2. <view class="tabbar">
  3. <view class="tab" v-for="(item,index) in tabbarList" :key="index" @tap='navigatorTo(item.pagePath)'>
  4. <image v-if="item.pagePath === 'release'" :src="item.iconPath" class="addIco" @click="to_release"></image>
  5. <view v-else>
  6. <image v-if="item.pagePath === cureentPage" :src="item.selectedIconPath"></image>
  7. <image v-else :src="item.iconPath"></image>
  8. </view>
  9. <!-- <view class="text"> {{item.text}} </view> -->
  10. </view>
  11. </view>
  12. </template>
  13. <script>
  14. export default {
  15. props:{
  16. cureentPage:{
  17. type:String,
  18. default:'index'
  19. }
  20. },
  21. }
  22. </script>
  23. <script setup>
  24. const to_release=()=>{ //跳转发布页面
  25. uni.navigateTo({
  26. url:"/pages/release/release"
  27. })
  28. }
  29. const tabbarList=[ //自己定义的tabber
  30. {
  31. "pagePath": "index",
  32. "iconPath": "http://hwww.fun:6060/tabbar/zhu_pi.png",
  33. "selectedIconPath": "http://hwww.fun:6060/tabbar/zhu1_pi.png",
  34. "text": "主页"
  35. },
  36. {
  37. "pagePath": "release",
  38. "iconPath": "http://hwww.fun:6060/tabbar/add.png",
  39. // "selectedIconPath": "/static/img/tabbar/new2/sort1_pi.png",
  40. // "text": "发布"
  41. },
  42. {
  43. "pagePath": "myinfo",
  44. "iconPath": "http://hwww.fun:6060/tabbar/user_pi.png",
  45. "selectedIconPath": "http://hwww.fun:6060/tabbar/user1_pi.png",
  46. "text": "你的"
  47. }
  48. ]
  49. const navigatorTo=(e)=>{ //当点击下方tabbar跳转指定页面
  50. console.log(e);
  51. uni.redirectTo({
  52. url:`../../pages/${e}/${e}`
  53. })
  54. }
  55. </script>
  56. <style scoped>
  57. .tabbar{
  58. /* border-top:1rpx solid #c5c4c5; */
  59. background-color:#FFFF ;
  60. z-index: 999;
  61. position: fixed;
  62. left: 0;
  63. bottom: 0;
  64. width: 100%;
  65. height: 120rpx;
  66. display: flex;
  67. justify-content: space-around;
  68. align-items: center;
  69. }
  70. .tab{
  71. display: flex;
  72. flex-direction: column;
  73. justify-content: center;
  74. align-items: center;
  75. }
  76. image{
  77. width: 50rpx;
  78. height: 50rpx;
  79. }
  80. .addIco{
  81. width: 50px;
  82. height: 50px;
  83. }
  84. </style>

3.在需要用到tabbar的位置(index,myinfo)中引入

index.vue:

  1. <script setup>
  2. import Tabbar from '@/common/tabbar/tabbar.vue'
  3. </script>

 下面代码直接放当前页面底部就行,注意传递了一个’index‘的值,这个值与tabbar中的pagePath是对应的,以此来判断该跳转哪个页面

  1. <template>
  2. <Tabbar cureentPage='index'></Tabbar>
  3. </template>

myinfo.vue

  1. <script setup>
  2. import Tabbar from '@/common/tabbar/tabbar.vue'
  3. </script>
  1. <template>
  2. <Tabbar cureentPage='myinfo'></Tabbar>
  3. </template>

 现在可以用了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/796697
推荐阅读
相关标签
  

闽ICP备14008679号