点击按钮触发el-dialog弹框,父组件的数据变成弹框的数据了?

父组件展示的数据如下图
点击按钮触发el-dialog弹框,父组件的数据变成弹框的数据了?
弹框内容
点击按钮触发el-dialog弹框,父组件的数据变成弹框的数据了?

仔细看是 弹框数据跟页面数据
目前的代码是:

getFromData(this: any) {

this.getSampleBroswer({ params: { id: this.sampleId }}).then(res => {

this.goData(res)

})

},

goData(this: any, res, type) {

if (res.code) {

//判断临时库进来不给显示检测项目组件

if (type === '1') {

res.result.template.component = res.result.template.component.filter(item => +item.type !== 20)

}

window.app.$store.commit('template/resetState');

window.app.$store.commit('template/setState', {

target: 'sample',

opt: 'update',

groupId: '0',

cateId: '',

id: res.result.template.id,

serial: res.result.template.serial ? res.result.template.serial : 0,

component: res.result.template.component,

tempName: res.result.template.tempName

})

// if (_.isArray(this.editorId)) {

// this.idList = [ ...this.editorId ]

// }

this.reportContent = res.result

this.flatListGauging = []

const arr: Array<string> = []

if (this.listGauging instanceof Array) {

this.listGauging.forEach(rootNode => {

this.flattenChildren(rootNode, arr);

});

}

this.loading = true

this.saveStoreState()

// initGaugingTable(this.component, this.editorId[ 0 ], this.gaugingVersion)

}

},

期望是点击触发按钮弹框是展示第二个截图,父组件是第一个截图


回答:

看起来是像是数据传递给子组件的时候没有做 深拷贝。所以子组件修改表单数据之后,会影响到父级的数据。

但是业务代码中没有体现,多一些注释会更好一些。我也不知道你的 $store.commit('template/setState', {}) 和最后 this.saveStoreState() 设置的数据会不会有影响到父级的数据。

以上是 点击按钮触发el-dialog弹框,父组件的数据变成弹框的数据了? 的全部内容, 来源链接: utcz.com/p/934547.html

回到顶部