【发布时间】:2020-02-04 15:06:15
【问题描述】:
我有 2 个组件:
- 父组件(带有 vue-bootstrap 表的 vue-bootstrap 模式)
- 子组件(带有表单的 vue-bootstrap 模态)
当我在子组件中提交表单时,我想将对象推送到父表数组,这样就可以了!但是当我重置表单时,它也会重置表数组中的对象,我不知道为什么。我试过push 和concat。
父变量:
MA02_E_tb // table array [{descr_forn: '',fornitore:'',n_oda:''},{descr_forn: '',fornitore:'',n_oda:''}]
data() {
return {
form: {
descr_forn: 'prova',
fornitore:'prova',
n_oda:'prova',
}
},
methods: {
resetModal() {
this.form.descr_forn = '',
this.form.fornitore = '',
this.form.n_oda = '',
},
onSubmit: function(evt) {
evt.preventDefault()
this.$parent.MA02_E_tb = this.$parent.MA02_E_tb.concat(this.form)
},
结果:
MA02_E_tb = [{descr_forn: 'prova',fornitore:'prova',n_oda:'prova'}]
当我重新打开子模式并使用 resetModal 方法重置对象表单时,结果是:
MA02_E_tb = [{descr_forn: '',fornitore:'',n_oda:''}]
form = [{descr_forn: '',fornitore:'',n_oda:''}]
如果MA02_E_tb 是另一个变量,为什么要重置它?
【问题讨论】:
-
也许这可以帮助你完成:stackoverflow.com/questions/31344041/…
-
您的父变量
MA02_E_tb指向form,这是通过引用。因此,如果您更改表单,它也会更改指向它的所有变量 -
您可以更好地从子组件发出事件并根据事件更新您的父组件。
标签: javascript vue.js