Vue-ElementPlus 二次封装(可编辑模式)

本文介绍了如何在ElementPlus的el-table基础上封装一个支持可编辑模式的组件,通过插槽传递编辑控件,以及取消其他选项功能的实现原理。

目录

一、思路:

二、功能点:

三、封装组件:

1、代码 

1.1、capsulation-table  组件

1.2、capsulation-table 所要使用的数据

2、分析

2.1、cancelOtherOptions()方法

四、总结


 ElementPlus中的 el-table 中没有编辑模式,所以需要自己封装一下

一、思路:

        通过插槽(具名插槽、作用域插槽一起使用 )将 el-input 或 el-select 传递给封装的组件,其中 可编辑模式是利用 v-if 切换普通的 div 和 el-input/el-select 组件。

        具名插槽用于 插入位置,并按照名字来识别对应的插槽(插入多个el-input、el-select等)

        作用于插槽用于 让插槽内容能够访问或使用子组件中才有的数据


二、功能点:

  1. 根据某个属性去决定当前组件是否 可编辑
  2. 双击开启编辑模式(可编辑
  3. 开启编辑模式后点击其他位置(其他的el-input或dom),关闭编辑模式 (可编辑

三、封装组件:

1、代码 
1.1、capsulation-table  组件
<template>
  <div class="table-flex">
    <el-table
      ref="tableFlex"
      :data="tableData"
    >
      <template v-for="(col) in tableColumns" :key="col.prop">
        <el-table-column
          :prop="col.prop"
          :label="col.label"
          :show-overflow-tooltip="col.showTooltip"
        >
          <template #default="scope" v-if="col.edit">
            <div
              :class="col.edit + scope.$index + scope.cellIndex"
              @dblclick="
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值