smartmeter-app/components/tab-bar/tab-bar.vue
2024-01-27 16:37:52 +08:00

131 lines
3.3 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="cont">
<div class="tab" @tap.stop="changeTabbar(0)">
<image src="@/static/tabbar/home.png" mode="" v-show="indexs!=0"></image>
<image src="@/static/tabbar/home-active.png" mode="" v-show="indexs==0"></image>
<div class="txt" :class="indexs==0?'act1':''">首页</div>
</div>
<div class="tab" @tap.stop="changeTabbar(1)">
<image src="@/static/tabbar/tj.png" mode="" v-show="indexs!=1" style="width: 36rpx;height: 36rpx;"></image>
<image src="@/static/tabbar/tj-active.png" mode="" v-show="indexs==1" style="width: 36rpx;height: 36rpx;"></image>
<div class="txt" :class="indexs==1?'act1':''">统计</div>
</div>
<div class="tab" @tap.stop="changeTabbar(2)">
<image src="@/static/tabbar/my.png" mode="" v-show="indexs!=2" style="width: 28rpx;height: 36.4rpx;"></image>
<image src="@/static/tabbar/my-active.png" mode="" v-show="indexs==2" style="width: 28rpx;height: 36.4rpx;"></image>
<div class="txt" :class="indexs==2?'act1':''">我的</div>
</div>
<!-- <view class="u-page">
</view> -->
<!-- 与包裹页面所有内容的元素u-page同级且在它的下方 -->
<!-- <u-tabbar v-model="current" :list="list" icon-size='40rpx' active-color='#3996fd' inactive-color="#c8c7cb"></u-tabbar> -->
</view>
</template>
<script>
export default {
props: {
indexs: [Number, String], //题目id
},
data() {
return {
currentTabbarIndex: 0,
// 自定义底栏对应页面的加载情况
tabberPageLoadFlag: [],
ispop: false,
}
},
mounted() {
this.currentTabbarIndex = this.indexs
// const index = Number(this.indexs || 0)
// // 根据底部tabbar菜单列表设置对应页面的加载情况
// for (let i = 0; i < 5; i++) {
// this.tabberPageLoadFlag.push(i === index)
// }
// this.changeTabbar(index)
},
methods:{
changeTabbar(index) {
if (this.currentTabbarIndex === index) return
// this._switchTabbarPage(index)
if(index==0){
uni.switchTab({
url:'/pages/index/index',
routeType: 'wx://modal',
success() {
this.currentTabbarIndex = index
}
})
console.log('点击了',index);
}else if(index==1){
uni.switchTab({
url:'/pages/tj',
routeType: 'wx://modal',
success() {
this.currentTabbarIndex = index
}
})
}else if(index==2){
uni.switchTab({
url:'/pages/my',
routeType: 'wx://modal',
success() {
this.currentTabbarIndex = index
}
})
}
},
}
}
</script>
<style lang="scss" scoped>
/deep/.u-tabbar__content__item__button {
top: 20rpx !important;
}
/deep/.u-tabbar {
.u-tabbar__content__item:nth-child(2) {
.u-tabbar__content__item__button {
width: 32rpx !important;
}
}
}
.cont {
position: fixed;
left: 60rpx;
bottom: 78rpx;
width: 632rpx;
height: 128rpx;
background: #FFFFFF;
box-shadow: 0rpx 16rpx 40rpx 0rpx rgba(53, 140, 255, 0.1);
border-radius: 60rpx;
display: flex;
align-items: center;
justify-content: space-around;
.tab{
width: 44rpx;
display: flex;
flex-wrap: wrap;
justify-content: center;
image{
width: 30rpx;
height: 30rpx;
}
.txt{
margin-top: 10rpx;
font-size: 20rpx;
font-family: HarmonyOS Sans SC, HarmonyOS Sans SC;
font-weight: 400;
color: #95989D;
}
.act1{
color: #8883F0;
}
}
}
</style>