import React from 'react' import axios from 'axios' //留白 import { Carousel, Flex,Grid} from 'antd-mobile' import Nav1 from '../../assets/images/nav-1.png' import Nav2 from '../../assets/images/nav-2.png' import Nav3 from '../../assets/images/nav-3.png' import Nav4 from '../../assets/images/nav-4.png' import Body1 from '../../assets/images/1.png' import Body2 from '../../assets/images/2.png' import Body3 from '../../assets/images/3.png' import Body4 from '../../assets/images/4.png' //导入样式 import './index.scss' const navs = [ { id: 1, img: Nav1, title: '整租', path: '/home/list', }, { id: 2, img: Nav2, title: '合租', path: '/home/list', }, { id: 3, img: Nav3, title: '地图找房', path: '/home/list', }, { id: 4, img: Nav4, title: '去出租', path: '/home/list', }, ] const data = Array.from(new Array(4)).map((_val, i) => ({ icon: `Body${i+1}`, text: `name${i}`, })); // 轮播图不会自动播放 数据返回过来的时候高度不够 数据加载前后数据的问题 class Index extends React.Component { state = { data: ['1', '2', '3'], imgHeight: 212, isSwiperLoding: false, groups: [], swiper:[] } componentDidMount() { // simulate img loading this.getGroups() this.getSwipers() setTimeout(() => { this.setState({ data: [ 'AiyWuByWklrrUDlFignR', 'TekJlZRVCjLFexlOCuWn', 'IJOtIlfsYdTyaDTRVrLI', ], isSwiperLoding: true, }) }, 100) } async getSwipers() { const res = await axios.get('http://localhost:8080/home/swiper') console.log('轮播如数据为:', res) this.setState({ swiper:res.data.body }) } async getGroups() { const res = await axios.get('http://localhost:8080/home/groups', { params: { area: 'AREA%7C88cff55c-aaa4-e2e0', }, }) console.log('轮播如数据为:', res) this.setState({ groups: res.data.body, }) } //渲染轮播图的方法 renderSwipers() { return this.state.swiper.map((val) => ( <a key={val.id} href="http://www.alipay.com" style={{ display: 'inline-block', width: '100%', height: this.state.imgHeight, }} > <img src={`http://localhost:8080${val.imgSrc}`} alt="" style={{ width: '100%', verticalAlign: 'top' }} onLoad={() => { // fire window resize event to change height window.dispatchEvent(new Event('resize')) this.setState({ imgHeight: 'auto' }) }} /> )) } //渲染导航菜单 renderNavs() { return navs.map((item) => ( key={item.id} onClick={() => { this.props.history.push(item.path) }} > 好客租房123-租房数据渲染_ios {item.title} )) } render() { return ( //留白 WingBlank {this.state.isSwiperLoding === true ? ( //自动播放 autoplay={true} infinite // beforeChange={(from, to) => console.log(`slide from ${from} to ${to}`)} // afterChange={index => console.log('slide to', index)} > {this.renderSwipers()} ) : ( '' )} square={false} className="nav">{this.renderNavs()} {/* 租房小组 */} 租房小组:更多 data={this.state.groups} renderItem={(item)=>( {item.title} {item.desc} 好客租房123-租房数据渲染_perl_02http://localhost:8080${item.imgSrc}`}/> </Flex> )} activeStyle={false} /> </div> </div> ) } } export default Index
运行结果