• 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封装成子组件(组件化)有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!

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

  • 相关阅读:
    (附源码)ssm人才市场招聘信息系统 毕业设计 271621
    XTU-OJ 1255-勾股数
    【FPGA教程案例57】深度学习案例4——基于FPGA的CNN卷积神经网络之卷积层verilog实现
    普中51单片机 A6
    FastApi+Vue实现WebSockets服务端推送
    数据可视化ECharts:定制柱形图
    软件研发的十大浪费:研发效能的另一面
    【无标题】
    工业CT之三维重建技术
    RabbitMQ开启MQTT协议支持
  • 原文地址:https://blog.csdn.net/weixin_53579656/article/details/133914436