目录
ElementPlus中的 el-table 中没有编辑模式,所以需要自己封装一下
一、思路:
通过插槽(具名插槽、作用域插槽一起使用 )将 el-input 或 el-select 传递给封装的组件,其中 可编辑模式是利用 v-if 切换普通的 div 和 el-input/el-select 组件。
具名插槽用于 插入位置,并按照名字来识别对应的插槽(插入多个el-input、el-select等)
作用于插槽用于 让插槽内容能够访问或使用子组件中才有的数据
二、功能点:
- 根据某个属性去决定当前组件是否 可编辑
- 双击开启编辑模式(可编辑)
- 开启编辑模式后点击其他位置(其他的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="

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

被折叠的 条评论
为什么被折叠?



