cjd-parkball
Version:
> 中后台业务组件库,中后台就像公园,进入需要买门票(登录),所以以 Parkball(公园球) 命名,公园内必定捕获!作为一个组件库,提供使用方法文档,方便开发者的调用
42 lines (35 loc) • 1.08 kB
JavaScript
import React, { PureComponent } from 'react'
import { Popover } from 'antd'
/* eslint-disable consistent-return */
const formatContent = (contentData) => {
if (contentData) {
const contentLen = contentData.length
return (<div>
{ contentData.slice(0, 5).map((contentItem, itemIndex) => <p key={`${contentItem}-${itemIndex}`}>{contentItem}</p>) }
{ contentLen > 5 ? <p className="">等{contentLen}条数据</p> : '' }
</div>)
}
}
/* eslint-disable consistent-return */
const typeCheck = (props, propName, componentName) => {
if (!props.content && !props.contentData) {
return new Error(`At least on of the props 'content' or 'contentData' specified in '${componentName}'.`)
}
}
export default class EnhancedPopover extends PureComponent {
static defaultProps = {
title: '',
placement: 'right',
}
static propTypes = {
content: typeCheck,
contentData: typeCheck,
}
render () {
const { contentData } = this.props
return (<Popover
content={formatContent(contentData)}
{...this.props}
/>)
}
}