1 个回答

我之前就做过类似的事儿,把dialog的显示/隐藏,放到vux中控制;(但好像没有props$emit效率高……)
贴下vuex代码,用show控制显示/隐藏

const dialog = {
  namespaced: true,
  state: () => ({
    show: false,
  }),
  mutations: {
    changeShow(state, flag) {
      state.show = flag
    }
  }
}
export default dialog

在需要使用的组件中获取,我是放在computed中的获取的,如下:

//...
computed: {
  show() {
    return this.$store.dialog.show;
  },
},
//...

然后绑定到dialog

<el-dialog :title="hello" :visible.sync="show">
</el-dialog> <!-- el-dialog end -->

需要更改时调用

const v = true
this.$store.commit('dialog/changeShow', v)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题