diff --git a/components/grid/Col.jsx b/components/grid/Col.jsx index 06520e922..dbad40112 100644 --- a/components/grid/Col.jsx +++ b/components/grid/Col.jsx @@ -27,6 +27,7 @@ export const ColProps = { xl: objectOrNumber, xxl: objectOrNumber, prefixCls: PropTypes.string, + flex: stringOrNumber, }; export default { @@ -38,6 +39,17 @@ export default { default: () => null, }, }, + methods: { + parseFlex(flex) { + if (typeof flex === 'number') { + return `${flex} ${flex} auto`; + } + if (/^\d+(\.\d+)?(px|em|rem|%)$/.test(flex)) { + return `0 0 ${flex}`; + } + return flex; + }, + }, render() { const { span, @@ -45,6 +57,7 @@ export default { offset, push, pull, + flex, prefixCls: customizePrefixCls, $slots, rowContext, @@ -105,6 +118,11 @@ export default { }; } } + + if (flex) { + divProps.style.flex = this.parseFlex(flex); + } + return