js页面点击链接打开另一个模态框_Elemnet.ui,封装模态框成js方法调用

项目中如果很多地方用到同一个模态框组件,每次在页面中import引用是不是很麻烦?现在教大家一种很方便的封装方法,只需调用js方法就可以实现。废话不说,先上图讲下整体流程,会把代码贴出来。

  1. 先写好你用的组件。根据业务不同组件不同,这里只是我们项目中的文件。
363b50e98b8ed36455844ddf5111310f.png
  1. 新建js文件,这里是我建的js文件。
6d54d0e240657335c4f134c1db532c98.png
fbea7b394b318cb6e161ae142265dcda.png


可以直接使用element中封装的$msgbox方法,h标签中引用组件名称,props里面可以放组件中的传值,on方法里面调用回调函数。

噔噔噔,给大家贴代码了!!!自己写的组件就不贴了,里面是项目中的业务。
modal-attr.js文件

export default function modalAttr(val, callback, keyNum) {  const h = this.$createElement  return new Promise((resolve, reject) => {    this.$msgbox({      title: '属性规格',      customClass: 'upload-form',      closeOnClickModal: false,      showClose: false,      message: h('div', { class: 'common-form-upload' }, [        h('attrFrom', {          props: {            currentRow: val,            keyNum: keyNum          },          on: {            getList() {              callback()            }          }        })      ]),      showCancelButton: false,      showConfirmButton: false    }).then(() => {      resolve()    }).catch(() => {      reject()      this.$message({        type: 'info',        message: '已取消'      })    })  })}

接下来要在main.js中全局注册使用。

import attrFrom from './components/attrFrom'Vue.component('attrFrom', attrFrom)

这样就可以全局使用啦~~~~
使用方法:

this.$modalAttr(this.formDynamics, function() {  _this.productGetRule()})

调用方法的时候,里面传值可根据你的需求进行传值,这里只是个例子,给大家个思路。下次再来讲封装的另一种方法,想知道的朋友们要持续关注crmeb噢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值