美文网首页
Vue computed property values was

Vue computed property values was

作者: 草帽lufei | 来源:发表于2019-11-18 08:56 被阅读0次

案发现场

vue 文件中的核心代码写法

<template>
  <div>
    <v-select
      :items="filters"
      label="查询条件"
      solo
      dense
      class="select-size"
      v-model="filterKey"
      clearable
    ></v-select>
  </div>
</template>
<script>
import { mapState, mapActions } from 'vuex'
export default {
  data () {
    return {
    }
  },
  computed: {
    ...mapState({
      filters: state => state.table.filters,
      filterKey: state => state.table.filterKey
    })
  }
}
</script>

使用了 vuex 中的值来显示内容, 然后报错 [Vue warn]: Computed property "filterKey" was assigned to but it has no setter.

解决方案

由于数据从 store 中来, 不能直接对数据修改, 因此, 使用 data 的值绑定 v-model 然后, data 数据在初始化时使用 store 的值就可以了.

调整后的vue文件
<template>
  <div>
    <v-select
      :items="filters"
      label="查询条件"
      solo
      dense
      class="select-size"
      v-model="key"
      clearable
    ></v-select>
  </div>
</template>
<script>
import { mapState, mapActions } from 'vuex'
export default {
  data () {
    return {
      key: null
    }
  },
  created () {
    this.key = this.filterKey
  },
  computed: {
    ...mapState({
      filterKey: state => state.table.filterKey
    })
  }
}
</script>

相关文章

网友评论

      本文标题:Vue computed property values was

      本文链接:https://www.haomeiwen.com/subject/gzhvictx.html