【问题标题】:how to set state in computed vuex?如何在计算的 vuex 中设置状态?
【发布时间】:2018-06-16 03:33:43
【问题描述】:

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

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

我正在使用 vuex getter 绑定用户数据,如下所示:

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

没有问题,但是当我在字段中输入时,我收到错误,因为不建议在突变之外改变状态,那么,当我在字段中输入时如何使用突变更新状态?

我有这个突变来更新用户数据:

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

这是 getData 突变:

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

提前致谢。

【问题讨论】:

    标签: vue.js vuex


    【解决方案1】:

    对不起,我会把它留在这里以防万一,答案在文档中here

    只需将 v-model 更改为 :input 并在更改后放一个 avent 进行更新,如下所示:

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

    所以 updateMessage 被触发,我在哪里改变了这样的状态:

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

    【讨论】:

      猜你喜欢
      • 2020-11-24
      • 2018-07-04
      • 2017-06-09
      • 2018-11-04
      • 1970-01-01
      • 2019-03-31
      • 1970-01-01
      • 1970-01-01
      • 2017-05-09
      相关资源
      最近更新 更多