好客租房109-实现TabBer
1基本使用
页面底部的导航菜单
核心代码拷贝到home中
分析并调整代码 让其在项目中正常运行
import React from 'react' import { TabBar } from 'antd-mobile' //导入路由 class Home extends React.Component { constructor(props) { super(props); this.state = { selectedTab: 'redTab', hidden: false, fullScreen: false, }; } renderContent(pageText) { return ( <div style={{ backgroundColor: 'white', height: '100%', textAlign: 'center' }}> <div style={{ paddingTop: 60 }}>Clicked “{pageText}” tab, show “{pageText}” information</div> <a style={{ display: 'block', marginTop: 40, marginBottom: 20, color: '#108ee9' }} onClick={(e) => { e.preventDefault(); this.setState({ hidden: !this.state.hidden, }); }} > Click to show/hide tab-bar </a> <a style={{ display: 'block', marginBottom: 600, color: '#108ee9' }} onClick={(e) => { e.preventDefault(); this.setState({ fullScreen: !this.state.fullScreen, }); }} > Click to switch fullscreen </a> </div> ); } render() { return ( <div style={this.state.fullScreen ? { position: 'fixed', height: '100%', width: '100%', top: 0 } : { height: 400 }}> <TabBar unselectedTintColor="#949494" tintColor="#33A3F4" barTintColor="white" hidden={this.state.hidden} tabBarPosition="top" > <TabBar.Item title="Life" key="Life" icon={<div style={{ width: '22px', height: '22px', background: 'url(https://zos.alipayobjects.com/rmsportal/sifuoDUQdAFKAVcFGROC.svg) center center / 21px 21px no-repeat' }} /> } selectedIcon={<div style={{ width: '22px', height: '22px', background: 'url(https://zos.alipayobjects.com/rmsportal/iSrlOTqrKddqbOmlvUfq.svg) center center / 21px 21px no-repeat' }} /> } selected={this.state.selectedTab === 'blueTab'} badge={1} onPress={() => { this.setState({ selectedTab: 'blueTab', }); }} data-seed="logId" > {this.renderContent('Life')} </TabBar.Item> <TabBar.Item icon={ <div style={{ width: '22px', height: '22px', background: 'url(https://gw.alipayobjects.com/zos/rmsportal/BTSsmHkPsQSPTktcXyTV.svg) center center / 21px 21px no-repeat' }} /> } selectedIcon={ <div style={{ width: '22px', height: '22px', background: 'url(https://gw.alipayobjects.com/zos/rmsportal/ekLecvKBnRazVLXbWOnE.svg) center center / 21px 21px no-repeat' }} /> } title="Koubei" key="Koubei" badge={'new'} selected={this.state.selectedTab === 'redTab'} onPress={() => { this.setState({ selectedTab: 'redTab', }); }} data-seed="logId1" > {this.renderContent('Koubei')} </TabBar.Item> <TabBar.Item icon={ <div style={{ width: '22px', height: '22px', background: 'url(https://zos.alipayobjects.com/rmsportal/psUFoAMjkCcjqtUCNPxB.svg) center center / 21px 21px no-repeat' }} /> } selectedIcon={ <div style={{ width: '22px', height: '22px', background: 'url(https://zos.alipayobjects.com/rmsportal/IIRLrXXrFAhXVdhMWgUI.svg) center center / 21px 21px no-repeat' }} /> } title="Friend" key="Friend" dot selected={this.state.selectedTab === 'greenTab'} onPress={() => { this.setState({ selectedTab: 'greenTab', }); }} > {this.renderContent('Friend')} </TabBar.Item> <TabBar.Item icon={{ uri: 'https://zos.alipayobjects.com/rmsportal/asJMfBrNqpMMlVpeInPQ.svg' }} selectedIcon={{ uri: 'https://zos.alipayobjects.com/rmsportal/gjpzzcrPMkhfEqgbYvmN.svg' }} title="My" key="my" selected={this.state.selectedTab === 'yellowTab'} onPress={() => { this.setState({ selectedTab: 'yellowTab', }); }} > {this.renderContent('My')} </TabBar.Item> </TabBar> </div> ); } } export default Home
本文只贴出部分代码 需要全代码关注微信公众号前端小歌谣
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南