import React, { useContext } from "react" import PropTypes from "prop-types" import classNames from "classnames" import { RowContext } from "./Context" import "./style" const prefix = "adui-grid" export interface IColProps { [key: string]: any /** * 子节点 */ children?: React.ReactNode /** * 附加类名 */ className?: string /** * 栅格占位格数 */ span?: 0 | 1 | 2 | 3 | 4 | 6 | 8 | 12 /** * 附加样式 */ style?: React.CSSProperties } /** * 栅格列 */ const Col: React.FC = ({ children, className, span, style, ...otherProps }: IColProps) => { const { gutter } = useContext(RowContext) const classSet = classNames( className, `${prefix}-col`, `${prefix}-col_${span}` ) const padding = `${(gutter || 0) / 2}px` const additionStyle = padding ? { paddingLeft: padding, paddingRight: padding, } : {} return (
{children}
) } Col.propTypes = { /** * 子节点 */ children: PropTypes.node, /** * 附加类名 */ className: PropTypes.string, /** * 栅格占位格数 */ span: PropTypes.oneOf([0, 1, 2, 3, 4, 6, 8, 12]), /** * 附加样式 */ style: PropTypes.object, } Col.defaultProps = { children: "", className: undefined, span: 12, style: {}, } export default Col