diff --git a/packages/form-item/index.vue b/packages/form-item/index.vue index b5bf59e..cf85532 100644 --- a/packages/form-item/index.vue +++ b/packages/form-item/index.vue @@ -6,12 +6,12 @@ export default { labelWidth: String, value: [Number, String, Array, Boolean, Object], prop: String, - span: { - type: [Number, String], - default() { - return this.zForm ? this.zForm.span : undefined; - }, - }, + span: [Number, String], + xs: [Number, Object], + sm: [Number, Object], + md: [Number, Object], + lg: [Number, Object], + xl: [Number, Object], }, provide() { return { @@ -47,7 +47,7 @@ export default { } } } - return h('el-col', { props: { span: this.span ? Number(this.span) : undefined } }, [ + return h('el-col', { props: this.colProps(['span', 'xs', 'sm', 'md', 'lg', 'xl']) }, [ h( 'el-form-item', { @@ -58,5 +58,17 @@ export default { ), ]); }, + methods: { + colProps(props) { + return props.reduce((result, key) => { + if (this[key]) { + result[key] = this[key]; + } else { + result[key] = this.zForm ? this.zForm[key] : undefined; + } + return result; + }, {}); + }, + }, }; diff --git a/packages/form/index.vue b/packages/form/index.vue index e754ff0..af2e060 100644 --- a/packages/form/index.vue +++ b/packages/form/index.vue @@ -23,6 +23,11 @@ export default { }, }, span: [Number, String], + xs: [Number, Object], + sm: [Number, Object], + md: [Number, Object], + lg: [Number, Object], + xl: [Number, Object], itemComponent: String, }, provide() { -- libgit2 0.21.0