如何在计算的vuex中设置状态?

时间:2018-01-06 14:54:24

标签: vue.js vuex

也许我没有运气找到这个,但我无法弄清楚: 我有这个领域:

<md-input v-if="edit===false" disabled v-model="userdata.username"></md-input>

我用vuex getter绑定计算中的用户数据,如下所示:

...mapGetters({
    userdata: "getUserData"
  })

没有问题,但是当我输入字段时,我得到一个错误,因为它不建议改变突变之外的状态,所以,当我在字段中输入时如何使用突变更新状态?

我有这个突变来更新userdata:

[types.UPDATEUSERDATA] (state, user) {
  state.currentUser = user;
}

这是getData变种:

[types.GETUSERDATA] (state) {
  return state.currentUser;
}

提前感谢。

1 个答案:

答案 0 :(得分:1)

抱歉,我会留在这里以防万一,答案在文档中here

只需将v-model更改为:input并在更改后将avent更新为:

<input :value="message" @input="updateMessage">

所以触发了updateMessage,并且我可以像这样改变状态:

updateMessage (e) {
  this.$store.commit('updateMessage', e.target.value)
}