找回密码
 立即注册

QQ登录

只需一步,快速开始

phoben 讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2024-4-11 23:31  /   查看:638  /  回复:14
本帖最后由 phoben 于 2024-4-15 14:01 编辑

因为EL系列插件的美观性,我一直在项目中使用它,尤其是"EL-表格"插件,在项目中的出镜率是非常高的。

但是在使用过程中,我们也遇到很需求它无法满足,基于“自己动手,丰衣足食”的理念,我按照我的需求,对EL-表格进行了一些优化和改动。
如果你恰好也和超哥一样,喜欢EL表格,但有一些需求没办法满足,不妨试试看这款插件。

因为插件是基于官方EL插件(9.0.103.0版本)升级,无法上架应用市场,就在帖子里共享了
下载安装后会覆盖官方插件,下面是插件更新的介绍:

新增功能:
  • [新功能] 按钮可动态显示/隐藏,通过编写JS表达式来控制;
  • [新功能] 表格列支持隐藏;
  • [新功能] 支持运行时命令-操作数据源;
  • [新功能] 增加固定列在左侧/右侧功能;
  • [新功能] 增加自动合并列功能;


优化项:
  • 修复官方插件在切换数据源时,自定义列内容不更新的问题;
  • 优化列默认对齐方式,现在列头与单元格对齐方式一致了;
  • 优化列数据类型,支持更多预设类型;
  • 修复“重载表格”不生效问题;

数据填充逻辑优化:
1. “配置表格列”内配置字段的多少,不再会影响表格列数;
2.   不想显示某列,可以通过新增的“隐藏列”功能,或者从数据源中剔除;
2. “配置表格列”现在需要配置几列就放几列,不需要配置的可以不在里面,不影响表格数据;

我们来看看它怎么运作的:

按钮的动态隐藏
可以根据行数据自行编写规则来决定按钮显不显示

效果预览
image.png867216491.png


配置方法
通过写一个简短的js语句,来决定按钮显示与否,理论上支持任何js语法,你甚至可以使用更复杂的对比逻辑,例如:"||"、"&&"等对比符号,最终返回true则显示按钮。

image.png768150024.png

隐藏某一列
可以提前设置某一列的展示与否,包括JSON数据源或数据表数据源,即使隐藏该列,从命令里仍然还是可以读取它。

效果预览
数据源中是有ID字段的。
image.png858908080.png

image.png546511840.png

配置方法
设计器中预览也会与配置同步
image.png401311034.png
image.png944258117.png

默认对齐方式
官方插件的列头是中对齐,表格内部是左对齐,看起来会显得不太规整,使用插件后,默认都会使用中对齐,无需任何设置。

image.png536692809.png

使用后效果
image.png254690245.png

全局增加更多数据类型
官方插件中只有日期的格式选择,这里提供了更多数据格式,例如:百分比、货币、2位数值、大写数字等,你仍然可以修改它

image.png535242614.png

增加“获取表格数据源”命令
现在你可以使用“操作单元格命令”选择EL表格后,可以使用“获取表格数据源”来获取一个JSON数组格式的数据源。
你可以用来判断当前你的表格内有多少条数据,或者通过插件、JS来摆弄表格数据了。

image.png219583434.png

使用方法
可获取表格内所有数据,JSON数组
image.png129187926.png

增加“合并列”功能
你可以通过列配置,让某些列自动合并,让现实效果更佳简洁直观;

image.png473760375.png

设置方法
image.png191365050.png

新增“固定列”功能
你可以通过列配置,让某些列固定在左边或右边,非常实用
image.png251004332.png

设置方法
image.png554306640.png

表格列管理逻辑的变更
官方插件的逻辑是,“配置表格列”里配置了几个字段,最终就显示几个字段。
但其实这样我认为是不合理的,因为如果我不想要这个字段显示在表格,我可以从数据源里不要选择就是,更何况更新后的插件可以自主隐藏列并保留数据。
所以我重构了这里的逻辑,“配置表格列”里你愿意定义几个列就定义几个,其他列还是会显示。
如果你不想某列显示,那么你就勾选隐藏列,这样你还是能取到行数据;
如果你想彻底排除某列,你直接数据源里就不提供,这样既不显示,也获取不到行数据;

官方版

image.png276896361.png

新版

image.png767062377.png

最后再啰嗦一句,为什么要用这个逻辑。
假设你用JSON数据源来动态填充数据,常见的就是从N张表里取不同数据,根据条件来填充其中一张表的数据到EL表格,这时候如果你需要将“日期”字段改为日期类型,“金额”字段改为货币格式,“税率”字段改为百分比,假设几张表里都有这几个字段,放在官方的版本你需要怎么做呢?
没错!其实你实现不了,因为每个表的字段不一样,你无法在开发期间来提前设计好它们的格式,有了这个插件,我们只需要将日期、金额、税率三个字段设置一下类型格式,其他字段完全不用设置就行。

通过这个场景,你应该理解我为什么要重构它的逻辑了吧!
功能介绍就到这里,如果你有什么更好的想法,欢迎在下面评论!




element-Plus-shamus.zip

646.02 KB, 下载次数: 15

售价: 30 金币  [记录]

评分

参与人数 4金币 +1000 满意度 +15 收起 理由
Simon.Sun + 1000 很给力!
小崽子来也 + 5
妄想社成员 + 5
samta + 5

查看全部评分

14 个回复

倒序浏览
小崽子来也
初级会员   /  发表于:2024-4-12 10:49:53
沙发
超哥给力!
回复 使用道具 举报
CainduranceTX
中级会员   /  发表于:2024-4-12 14:14:53
板凳
在哪儿下载啊
回复 使用道具 举报
phoben讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2024-4-12 14:18:58
地板

帖子下面有附件
回复 使用道具 举报
CainduranceTX
中级会员   /  发表于:2024-4-12 14:25:10
5#
phoben 发表于 2024-4-12 14:18
帖子下面有附件

哎?我咋看不到。。。
回复 使用道具 举报
王海鸥
中级会员   /  发表于:2024-4-12 17:31:54
6#
EL表现在能导出excel了吗?
回复 使用道具 举报
phoben讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2024-4-12 17:48:39
7#
王海鸥 发表于 2024-4-12 17:31
EL表现在能导出excel了吗?

用这个插件可以导出JSON
回复 使用道具 举报
CainduranceTX
中级会员   /  发表于:2024-4-12 20:52:45
8#
el表格,首次加载的时候,很慢,这个有解决办法么
回复 使用道具 举报
phoben讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2024-4-12 21:00:54
9#
CainduranceTX 发表于 2024-4-12 20:52
el表格,首次加载的时候,很慢,这个有解决办法么

可能数据太多,可以分个页,我没觉得第一次很慢呢
回复 使用道具 举报
CainduranceTX
中级会员   /  发表于:2024-4-12 21:11:35
10#
phoben 发表于 2024-4-12 21:00
可能数据太多,可以分个页,我没觉得第一次很慢呢

我做了查询,没有分页,也就不到一万条数据,页面首次加载大概需要5秒。
另外,el表格不能把当前行的一个值传给另一个页面。。。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部