Commit f28e9536 by Mr. Lan

fix: 添加子表单功能。

parent 7a77a982
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
:label="v.name" :label="v.name"
min-width="250" min-width="250"
> >
<template> <template slot-scope="scope">
<genetate-form-item <genetate-form-item
:preview="preview" :preview="preview"
:models.sync="models" :models.sync="models"
...@@ -90,6 +90,8 @@ ...@@ -90,6 +90,8 @@
:data="data" :data="data"
:disabled="disabled" :disabled="disabled"
:is-label="false" :is-label="false"
:subform-index="scope.$index"
:subform-model="item.model"
@input-change="onSubformInputChange" @input-change="onSubformInputChange"
/> />
</template> </template>
...@@ -222,8 +224,9 @@ export default { ...@@ -222,8 +224,9 @@ export default {
reset() { reset() {
this.$refs.generateForm.resetFields() this.$refs.generateForm.resetFields()
}, },
onSubformInputChange(value, field) { onSubformInputChange(value, field, index) {
this.$emit('on-change', field, value, this.models) console.log(value, field, index)
// this.$emit('on-change', field, value, this.models)
}, },
onInputChange(value, field) { onInputChange(value, field) {
this.$emit('on-change', field, value, this.models) this.$emit('on-change', field, value, this.models)
......
...@@ -323,7 +323,7 @@ export default { ...@@ -323,7 +323,7 @@ export default {
FileUpload FileUpload
}, },
/* eslint-disable */ /* eslint-disable */
props: ['widget', 'models', 'rules', 'remote', 'data', 'disabled', 'preview', 'isLabel'], props: ['widget', 'models', 'rules', 'remote', 'data', 'disabled', 'preview', 'isLabel', 'subformIndex', 'subformModel'],
data() { data() {
return { return {
widgetLabelWidth: '', widgetLabelWidth: '',
...@@ -335,12 +335,21 @@ export default { ...@@ -335,12 +335,21 @@ export default {
dataModel: { dataModel: {
deep: true, deep: true,
handler(val) { handler(val) {
this.models[this.widget.model] = val if (this.subformIndex !== undefined) {
this.$emit('update:models', { this.models[this.subformModel][this.subformIndex][this.widget.model] = val
...this.models, this.$emit('update:models', {
[this.widget.model]: val ...this.models[this.subformModel][this.subformIndex],
}) [this.widget.model]: val
this.$emit('input-change', val, this.widget.model) })
this.$emit('input-change', val, this.widget.model, this.subformIndex)
} else {
this.models[this.widget.model] = val
this.$emit('update:models', {
...this.models,
[this.widget.model]: val
})
this.$emit('input-change', val, this.widget.model)
}
} }
}, },
models: { models: {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment