无法在mapState中使用set

使用背景:购物车页面的下边栏设置了一个全选按钮,点击可以选择购物车的全部商品,再次点击则会取消选择。因为下边栏是一个子组件,所以需要向父组件发送信息。
错误写法:因为即使被mapState包裹也不会影响computed的正常功能,所以我通常是全部包裹住的,但是此时出现错误Computed property "checked" was assigned to but it has no setter.

  computed: mapState({
    list:'cart_list', //商品详情信息
    checked: {
      get() {
        return this.value
      },
      set(val) {
        this.$emit('input', val)
      }
    }
  }),

解决办法:只展开需要从list中读取的数据就行了,其他照常。

  computed: {
    ...mapState({
      list:'cart_list', //商品详情信息
    }),
      checked: {
        get() {
          return this.value
        },
        set(val) {
          this.$emit('input', val)
        }
      }
  },

猜你喜欢

转载自blog.csdn.net/qq_41337100/article/details/106336769