子组件让父组件进行刷新vuex

Posted antyhouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了子组件让父组件进行刷新vuex相关的知识,希望对你有一定的参考价值。

首先子组件让父组件进行刷新,子组件让爷爷组件进行刷新最好用vuex
技术图片

1.store已经在全局引入了,现将状态存起来

const updateStore = {
    state: {
      confirm: false
    },
    mutations: {
      setStore: (state, updateStoreData) => {
        state.confirm = updateStoreData
      }
    }
  }
  
  export default updateStore

2 .子组件做完删除操作后,直接将状态更改,记得一定要是接口调完哦

  deleteStocking(id) {
      const _this = this
      this.$confirm('删除此信息', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        warehouseApi.stocking.deleteStocking({ id }, res => {
          this.$message.success(res.msg)
          this.$store.commit('setStore', true)
          this.handlePageCurrentChange(1)
        })
      })
    },

3.在computed里面去拿到最新的数据,并且通过调接口刷新后将状态改回来

  computed: {
      submitStatus () {
        return this.$store.state.updateStore.confirm
      }
    },
   watch: {
      submitStatus (val) {
        if (val) {
          Promise.all([this.getWarehouseDetail(), this.getInventoryDetail()]).then(()=> {
            this.$store.commit('setStore', false)
          })
        }
      }
    },

以上是关于子组件让父组件进行刷新vuex的主要内容,如果未能解决你的问题,请参考以下文章

vue 调用兄弟组件方法怎么做

vue 怎么调用其他组件的方法

VUEX

如何使子组件使用父组件样式[重复]

子组件的动态刷新问题

Vuex,状态管理模式