1.封装组件传参className,合并以空格隔开
['search-box', className || ''].join(' ')
2.react的样式覆盖
.houseItems :global(.ReactVirtualized__List) {
padding-bottom: 50px;
}
完整代码,高阶组件withRouter
import React from 'react'
import { Flex } from 'antd-mobile'
import { withRouter } from 'react-router-dom'
import PropTypes from 'prop-types'
// 导入样式
import './index.scss'
function SearchHeader({ history, cityName, className }) {
return (
<Flex className={['search-box', className || ''].join(' ')}>
{/* 左侧白色区域 */}
<Flex className="search">
{/* 位置 */}
<div className="location" onClick={() => history.push('/citylist')}>
<span className="name">{cityName}</span>
<i className="iconfont icon-arrow" />
</div>
{/* 搜索表单 */}
<div className="form" onClick={() => history.push('/search')}>
<i className="iconfont icon-seach" />
<span className="text">请输入小区或地址</span>
</div>
</Flex>
{/* 右侧地图图标 */}
<i className="iconfont icon-map" onClick={() => history.push('/map')} />
</Flex>
)
}
// 添加属性校验
SearchHeader.propTypes = {
cityName: PropTypes.string.isRequired,
className: PropTypes.string
}
export default withRouter(SearchHeader)
实现效果