element ui表格封装,vue封装element组件

  element ui表格封装,vue封装element组件

  本文主要介绍element-ui弹出组件的打包步骤,帮助你更好的理解和使用vue框架。感兴趣的朋友可以了解一下。

  

封装el-dialog为一个组件

  当我们使用element-ui时,如果一个弹出窗口中有很多内容,那么我们通常会将这个弹出窗口封装到一个组件中,如下所示:

  !- DetailDialog.vue html -

  模板

  El-dialog title= title :visible . sync= visible width= 720 px

  p弹出内容/p

  /el-dialog

  /模板

  //DetailDialog.vue js

  脚本

  道具:{

  可见:{

  类型:布尔型,

  默认值:false

  }

  }

  /脚本

  

el-dialog会修改 props,并报错

  但是,会有一个问题。当el-dialog内部的close事件被触发时,比如点击弹出窗口的阴影,就会发出事件来修改当前组件的prop [visible]。由于组件不能直接修改prop属性,它将报告一个错误。

  我们添加了一个中间变量innerVisible来拦截props [visible]的修改和获取

  !- DetailDialog.vue html -

  模板

  El-dialog title= title :visible . sync= inner visible width= 720 px

  p弹出内容/p

  /el-dialog

  /模板

  //DetailDialog.vue js

  脚本

  导出默认值{

  道具:{

  可见:{

  类型:布尔型,

  默认值:false

  }

  },

  计算值:{

  内部可见:{

  get: function() {

  返回此. visible

  },

  集合:函数(val) {

  这个。$emit(update:visible ,val)

  }

  }

  }

  }

  /脚本

  这样,在el-dialog内修改prop[visible]时,我们会通过emit(update:)通知父组件,避免直接修改props。当然,父组件需要同步修改器来接受修改:

  !-父亲. vue html -

  detail dialog:visible . sync= detail visible /

  到目前为止,打包的弹窗组件没有任何问题。

  

继续优化,使用v-model控制显示隐藏

  //DetailDialog.vue js

  脚本

  导出默认值{

  型号:{

  Prop: visible ,//修改v-model绑定的Prop名称

  Event: toggle //修改v模型绑定的自定义事件名称

  },

  道具:{

  可见:{

  类型:布尔型,

  默认值:false

  }

  },

  计算值:{

  内部可见:{

  get: function() {

  返回此. visible

  },

  集合:函数(val) {

  这个。$emit(update:toggle ,val)

  }

  }

  }

  }

  /脚本

  有了v-model的接入,使用起来更高更整洁。

  !-父亲. vue html -

  detail dialog v-model= detail visible /

  

继续优化,封装成mixins

  在频繁打包弹出组件时,需要不断复制上述逻辑,所以继续优化,将隐藏在上述控件显示中的逻辑打包成mxins,可以直接重用。

  //vModelDialog.js

  导出默认值{

  型号:{

  道具:“可见”,

  事件:“切换”

  },

  道具:{

  可见:{

  类型:布尔型,

  默认值:()={

  返回false

  }

  }

  },

  计算值:{

  内部可见:{

  get: function() {

  返回此. visible

  },

  集合:函数(val) {

  这个。$emit(toggle ,val)

  }

  }

  }

  }

  那么在打包弹出插件的时候,我们只需要引入mixins就可以完成显示和隐藏逻辑。

  //DetailDialog.vue js

  脚本

  从“”导入vModelDialog。/vModelDialog.js

  导出默认值{

  mixins: [vModelDialog],

  }

  /脚本

  以上就是element-ui弹出包的步骤细节。更多关于element-ui弹出包的信息,请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: