uniapp---自定义tabBar

在用Uniapp做项目开发的时候,经常会遇到需要自定义tabbar来实现功能,下面是我写的基础tabbar组件。

复制代码
<template>
    <view>
        <view class="main-home-tabbar">
            <view class="tabbar-item" :class="'home' == activeTab ? 'active' : ''" @click="handleTabBar('home')">
                <view class="item-icon"><image class="img" :src="'home' == activeTab ? '/static/home-active.png' : '/static/home.png'" lazy-load="true"></image></view>
                <view class="item-text">首页</view>
            </view>
            <view class="tabbar-item" :class="'service' == activeTab ? 'active' : ''" @click="handleTabBar('service')">
                <view class="item-icon"><image class="img" :src="'service' == activeTab ? '/static/service-active.png' : '/static/service.png'" lazy-load="true"></image></view>
                <view class="item-text">服务</view>
            </view>
            <view class="tabbar-item" :class="'message' == activeTab ? 'active' : ''" @click="handleTabBar('message')">
                <view class="item-icon"><image class="img" :src="'message' == activeTab ? '/static/message-active.png' : '/static/message.png'" lazy-load="true"></image></view>
                <view class="item-text">消息</view>
            </view>
            <view class="tabbar-item" :class="'mine' == activeTab ? 'active' : ''" @click="handleTabBar('mine')">
                <view class="item-icon"><image class="img" :src="'mine' == activeTab ? '/static/mine-active.png' : '/static/mine.png'" lazy-load="true"></image></view>
                <view class="item-text">我的</view>
            </view>
        </view>
    </view>
</template>

<script>
    import home from './home.vue'
    export default {
        components:{ home },
        data() {
            return {
                activeTab:'home'
            }
        },
        methods: {
            handleTabBar(tab){
                this.activeTab = tab;
            }
        }
    }
</script>

<style scoped lang="scss">
.main-home-tabbar{
    width: 100%;
    position: fixed;
    left: 0;
    bottom: 50px;
    display: flex;
    background: #fff;
    border-top: 1px solid #ddd;
    z-index: 100;
    padding: 4px 0 0px;
    .tabbar-item{
        width: 25%;
        text-align: center;
        .item-icon{
            text-align: center;
            height: 26px;
            .img{
                width: 25px;
                height: 25px;
            }
        }
        .item-text{
            height: 20px;
            text-align: center;
            font-size: 14px;
        }
        &.active{
            .item-text{
                color: #fe7e28;
            }
        }
    }
}
</style>
复制代码

打完收工!

posted @   帅到要去报警  阅读(2132)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
历史上的今天:
2021-05-10 uniapp---上传测试版本进行APP在IOS进行调试
2021-05-10 iOS---生成证书文件的时候无法选择导出.p12文件【解决办法】
2020-05-10 require.js ---- 基本使用
2019-05-10 git---主分支同步到子分支
2019-05-10 vue---lodash的使用
点击右上角即可分享
微信分享提示