自定义弹框实现

自定义弹框实现

首先给父页面中的对应按钮或者超链接设置点击事件

在父页面的父级文件夹下建components文件  在components下建弹框的内容的页面 (比如页面a) 里面写弹框的内容和样式 ,事件等
用import把 a页面导入你需要弹框的页面  也就是父页面 然后在父页面中注册组件 引入 
  • 这里用新增来表述:新增事件add
  • 父页面中 add事件中 用 this.$store.commit(“传过去的方法名”, “引入的弹框的页面的名字”);
  • 子页面中 用watch监听 store文件夹下状态的变化 比如
  watch: {
    "$store.state.AddChildInfo.AddChildInfo.status": {
      handler(val) {
        console.log(val, "监听对象");
        this.dialogVisible = val;
      },
    },
  }
  //第一个AddChildInfo指的是store下面的AddChildInfo文件夹
  //第二个指的是文件夹下面的vue文件中的state中的属性
  • 记得在弹框 el-dialog中添加:visible.sync=“dialogVisible” (dialogVisible随便起的名字)

  • 在store文件夹下建对应的文件 用来处理js代码

  • 在store文件夹下的index.js中 import导入你刚才创建的文件 并在 modules中引入

文件夹中的vue文件的内容


const state = {
  designShow: false,
  designShowName: "",
  UpdateChildInfo: {   //子组件监听的就是该属性
      status: false,
      data: {}
  },
}
const mutations = {
  showUpdateChildInfo(state, payload) {   // showUpdateChildInfo 就是刚才从父页面中add事件传过来的方法
      state.designShow = true
      state.designShowName = payload
      state.UpdateChildInfo.status = true
  },
  closeUpdateChildInfo(state, payload) {
      state.designShow = false
      state.designShowName = ""
      state.UpdateChildInfo.status = false
  },
}

export default {
  namespaces: true,
  state,
  mutations
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值