Vue.js & vuex - 将表单重置为当前状态

Vue.js & vuex - Reset a form to current state

我的一个组件中有一个表单,我最初是通过克隆一个状态来填充的:

created () {
  this.currentUser = Object.assign({}, this.$store.getters.user)
}

我想在表单中添加一个按钮,使用户能够在进行更改后将其重置为初始值。

我尝试通过向按钮添加一个功能来做到这一点:

methods: {
  cancelChanges () {
    this.currentUser = Object.assign({}, this.$store.getters.user)
  }
}

但是,这不起作用。正确的做法是什么?

Codepen 在这里 - https://codepen.io/stockzy/pen/xPGYXN?editors=1010#0

好的,我想通了(在一点帮助下)。

我将我的数据绑定到商店,而不是将新实例复制到组件。这修复了它:

created () {
  this.currentUser = Object.assign({}, JSON.parse(JSON.stringify(this.$store.getters.user)))
}

按钮也一样:

cancelChanges () {
  this.currentUser = Object.assign({}, JSON.parse(JSON.stringify(this.$store.getters.user)))
}