diff --git a/packages/form/form-render.vue b/packages/form/form-render.vue
index eec6ab3..76365a2 100644
--- a/packages/form/form-render.vue
+++ b/packages/form/form-render.vue
@@ -9,6 +9,7 @@
:key="index"
:span="type === 'div' ? undefined : item.group.span || 24"
:style="{ width: type === 'div' ? '100%' : undefined }"
+ :class="colClassRender(item, index, colClass)"
>
@@ -41,34 +42,38 @@
:span="type === 'div' ? undefined : item.span || span"
:key="index"
:style="{ width: type === 'div' && item.style && item.style.width.includes('%') ? item.style.width : undefined, paddingRight: '10px' }"
+ :class="colClassRender(item, index, colClass)"
>
-
-
+
+
+
- onInput({ value: v, item })"
- v-on="bindItemEvent(item)"
- v-bind="item.props"
- :style="item.style || { maxWidth: '100%' }"
- >
+ })
+ "
+ >
+ onInput({ value: v, item })"
+ v-on="bindItemEvent(item)"
+ v-bind="item.props"
+ :style="item.style || { maxWidth: '100%' }"
+ >
+
@@ -89,6 +94,7 @@ export default {
titleClass: String,
contentClass: String,
itemClass: String,
+ colClass: [String, Function],
groupClass: String,
type: String,
span: Number,
@@ -103,6 +109,20 @@ export default {
},
methods: {
/**
+ * @description 渲染col class
+ * @param {Object} item 表单项配置
+ * @param {Object} index 表单项渲染下标
+ * @param {Object} colClass 表单项配置
+ * @return {String} col class
+ */
+ colClassRender(item, index, colClass) {
+ if (colClass instanceof Function) {
+ return colClass(item, index);
+ } else {
+ return colClass;
+ }
+ },
+ /**
* @description 根据表单项的key查询该值
* @param {Object} item 表单项配置
* @returns {Any} 返回值
diff --git a/packages/form/index.vue b/packages/form/index.vue
index fbeb8f8..cff0547 100644
--- a/packages/form/index.vue
+++ b/packages/form/index.vue
@@ -21,6 +21,7 @@
:title-class="titleClass"
:content-class="contentClass"
:item-class="itemClass"
+ :col-class="colClass"
:group-class="groupClass"
:list="formList"
:value="model"
@@ -30,7 +31,9 @@
@item-change="onItemChange"
@form-item-change="onFormItemChange"
@item-update="onItemUpdate"
- >
+ >
+
+
@@ -48,6 +51,7 @@ export default {
titleClass: String,
contentClass: String,
itemClass: String,
+ colClass: [String, Function],
groupClass: String,
labelWidth: String,
labelPosition: String,
@@ -62,8 +66,8 @@ export default {
},
},
data() {
- // const $fullProps = { ...this.$attrs, ...this.$props };
return {
+ slotKeys: Object.keys(this.$slots),
model: {},
formModel: {},
formList: [],
--
libgit2 0.21.0