無法在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)
        }
      }
  },
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章