• vue el-dialog封装成子组件(组件化)


    前言

    • 实际开发过程中我们经常听见组件化开发,但在实际开发过程中(没有人审查时)怎么方便来

    • 我们有时是因为时间不够,所以把所有代码写在一个页面。当业务逻辑复杂时可能会有1k多行

    • 虽然不能要求自己写出高效复用性高的组件,把dialog弹出框写成一个子组件抽走还是可以的

    • 当你把表单抽在就会发现代码少了很多

    代码实现

    1.在文件下创建components文件夹创建DialogForm.vue文件

    1. <template>
    2. <div>
    3.   <el-dialog
    4.     title="表单"
    5.     :visible="dialogVisible"
    6.     width="45%"
    7.     @close="handleClose"
    8.   >
    9.     <span>子组件弹出框span>
    10.     <span slot="footer" class="dialog-footer">
    11.       <el-button @click="dialogVisible = false">关 闭el-button>
    12.       <el-button type="primary" @click="dialogVisible = false"
    13.         >发起合同审批
    14.       >
    15.     span>
    16.   el-dialog>
    17. div>
    18. template>
    19. <script>
    20. export default {
    21. name: 'DialogForm',
    22. props: {
    23.   DialogFlag: {
    24.     default: false
    25.   }
    26. },
    27. data () {
    28.   return {
    29.     // 开关
    30.     dialogVisible: false,
    31.   }
    32. },
    33. watch: {
    34.   DialogFlag () {
    35.     this.dialogVisible = this.DialogFlag
    36.   }
    37. },
    38. created () {
    39.   console.log('审批页面执行')
    40. },
    41. methods: {
    42.   // 表单关闭事件-通知父组件关闭(.syanc)
    43.   // 不通知父组件可能会报错,导致只能打开一次
    44.   handleClose () {
    45.     this.$emit('update:DialogFlag', false)
    46.   },
    47. }
    48. }
    49. script>
     
    

    2.在index.vue页面中使用

    1. // 引入组件
    2. import DialogForm from './components/DialogForm.vue'
    3. //注册组件
    4. components: {
    5.   DialogForm
    6. },
    7.  
    8. //data
    9. DialogFlag: false
    10. // html
    11. <DialogForm :DialogFlag.sync="DialogFlag" />
    12. // 使用组件
    13.             type="primary"
    14.             icon="el-icon-circle-plus-outline"
    15.             @click="examinadd"
    16.             >打开表单
    17.           >
    18.            
    19. examinadd () {
    20.     this.DialogFlag = true
    21.   },

    总结:

    经过这一趟流程下来相信你也对 vue el-dialog封装成子组件(组件化)有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!

    什么不足的地方请大家指出谢谢 -- 風过无痕

  • 相关阅读:
    C语言之实现贪吃蛇小游戏篇(2)
    第四章 :Spring Boot 配置文件指南
    【软考系统架构设计师】2023年系统架构师冲刺模拟习题之《系统工程与信息系统基础》
    腾讯mini项目-【指标监控服务重构】2023-07-20
    Pytorch 分布式训练(DP/DDP)
    Java---Maven详解
    SpringBoot学习笔记(四)——SpringBoot实现原理
    写论文可能会用到的网站
    k8s教程(10)-pod生命周期、重启策略及健康检查
    AcWing102. 最佳牛围栏
  • 原文地址:https://blog.csdn.net/weixin_53579656/article/details/133914436