uniapp底部导航—加个功能:要能体现当前位置—当页面为首页,底部导航的“首页”文字变色。
时间: 2023-04-26 14:06:17 浏览: 102
uniapp 底部导航设置
可以通过uniapp的条件渲染来实现这个功能。当页面为首页时,可以给底部导航的“首页”文字添加一个特定的class,然后在样式中设置该class的颜色为变色后的颜色。具体实现可以参考以下代码:
1. 在首页的vue文件中,添加以下代码:
<template>
<view>
<!-- 页面内容 -->
</view>
</template>
<script>
export default {
onShow() {
// 在页面显示时,给底部导航的“首页”文字添加特定的class
uni.$emit('setTabBarActive', 'home')
}
}
</script>
2. 在App.vue文件中,添加以下代码:
<template>
<view>
<!-- 底部导航栏 -->
<tabbar>
<tabbar-item icon="home" text="首页" url="/pages/home/home" :active="activeTab === 'home'" />
<tabbar-item icon="cart" text="购物车" url="/pages/cart/cart" :active="activeTab === 'cart'" />
<tabbar-item icon="user" text="我的" url="/pages/user/user" :active="activeTab === 'user'" />
</tabbar>
</view>
</template>
<script>
export default {
data() {
return {
activeTab: 'home' // 默认选中首页
}
},
created() {
// 监听事件,当页面显示时,设置底部导航的选中状态
uni.$on('setTabBarActive', (tabName) => {
this.activeTab = tabName
})
}
}
</script>
3. 在样式文件中,添加以下代码:
/* 当底部导航的“首页”文字被选中时,设置颜色为变色后的颜色 */
.tabbar-item.home.active .uni-icon {
color: #ff0000;
}
.tabbar-item.home.active .uni-tabbar-text {
color: #ff0000;
}
这样,当页面为首页时,底部导航的“首页”文字就会变色,体现当前位置。
阅读全文