Kitchen 的上个大版本迭代已经是年前了。那这么一段沉寂的我们在干啥?当然是憋大招——智能表格啦~🤣 当然,智能表格这个功能在 3.0 中已经和大家见面啦,通过若干个小版本的快速迭代,我们很高兴地和大家宣布:新智能表格正式发布啦~🥳
:::info 温馨提示: 更新 Kitchen 后请重启一下 Sketch :::
🌟 新智能表格
在中后台场景的业务场景中,表格可以说是一个极其高频的组件。甚至很多业务中每个页面都是一个布局组件加一个表格组件, TechUI (蚂蚁内部业务设计系统)的更是针对中后台常见提出了「四表一局」的总结。
「四表一局」:表格、表单、列表、图表和布局
那么针对如此高频的组件,我们曾在 Kitchen3 正式发布时,推出过旧版的智能表格。
在这个版本中,我们收到了很多反馈意见,例如:
“配置项不够多,不能满足我需求” “表格生成以后,就不能再改了。体验不如自己做的 Symbol 库好“ “感觉配置项太很多,但是不一定能达到自己想要的样式。会花费很多的时间。”
在去年6月份,我们正式启动了智能表格优化的新项目,通过大半年的设计、开发工作,我们终于初步实现了第一个里程碑——正式发布!
那么接下来,就让我们一起来了解下新智能表格的功能吧~
📝 一键生成、二次编辑
我相信 Kitchen 智能表格非常让人喜爱的地方就是在 Sketch 中一键创建表格,像调整宽度、增加列数这样的功能使得我们能用极其高效地方式完成表格的设计,可以说是颠覆也不为过。
新版智能表格在此基础上带来了更加强大的能力:二次编辑。(快捷键 Ctrl
+ T
)
在老版智能表格中,生成的表格是一次性工程,再也无法修改了。但是在新版的智能表格中,我们支持了表格的二次编辑,这样一来,你可以轻松地在原有设计基础上进行二次加工,妈妈再也不用担心需求的频繁变更了~🤣
🧩 数据导入、快捷填充
使用老版智能表格的用户,一个高频反馈就是配置表格的数据很麻烦。的确,在之前的设计中,我们重点考虑的并不是表格的数据录入,而是常用的表格样式配置。
但在新版本中,我们极大地增强了表格数据的录入能力,这体现在两个能力模块中:1)普通数据表格导入;2)行数据的快捷录入。
❶ 普通数据表格导入
一言以蔽之:支持导入 Excel 、语雀表格的数据,生成表格设计稿。
我们已经准备好了图中的示例,你可以拿下面这张表格进行尝试~
序号 | 标题 | 状态 | 标签 | 创建时间 | 操作 |
---|---|---|---|---|---|
1 | 你好1 | 成功 | 蓝色 | 2022/04/19 | 修改 |
2 | 2你好 | 失败 | 绿色 | 2022/04/18 | 修改 |
3 | 你好3 | 失败 | 红色 | 2022/04/20 | 修改 |
4 | 4你好 | 成功 | 灰色 | 2022/04/18 | 修改 |
5 | 氛围的 | 加载中 | 红色 | 2022/04/16 | 修改 |
在 beta 版的测试过程中,有不少 PD 用户给这个功能大大地点了赞。我想这个功能一定是诸多中后台 PD们的福音~ 😄
❷ 智能填充
做表格时,我想无论是PD还是设计师,都不太喜欢一个单元格一个单元格地把表格铺满。那么为了提升大家的效率,我们也强化了表格数据的智能填充能力,可以很好地帮助大家填充假数据。
目前支持的文本、编号、数据、时间、地址等若干类型的智能数据,大家可以按需选用。如有未覆盖到的数据类型希望补充,也欢迎来找我们提需求~
💄 常用样式、高效配置
在新版的智能表格中,我们对原有的一些样式配置的能力做了一次升级,提供了更加丰富和强大的配置项。当然在设计上,我们将原有的在平铺模式,转变成了 Tabs 切换的方式。因为对于大部分表格设计的场景来说,只要配置项数据项即可。
而得益于这种新的形态,在需要配置具体样式的时候,属性面板能展示更加丰富的配置项,帮助大家更加灵活地完成设计。
智能表格本质上是一个编辑器,我们也相对应的做了很多编辑器层面的优化,尤其是针对数组类型的内容(例如列配置项)做了部分键盘操作上的优化,帮助大家更好地完成数据的调整。
💉 最后一剂预防针
对于智能表格,我们有一个基本的判断:我们不可能,或者说很难,用一个智能表格来满足所有的业务场景。因此在表格样式上我们做了一些取舍,尽量保留了常见的容易出现的配置,例如表头、筛选器、翻页器等,来满足 70-80% 常见的业务需求。那对于一些没法覆盖到的业务特征,我们仍然建议在生成的表格模子上,添加其他业务设计元素。
当然也欢迎大家跟我们提表格样式上的配置需求,我们会做相关评估,如果合理就会安排到迭代中。
🔗 链接前端开发
我们在内部已经初步实现了上述表格组件一键转前端代码的功能,大致效果如下:
下面是默认案例生成的代码,我们目前能够达到 90% 的可用度和极好的可维护性。
/**
* 目前代码根据配置生成,要在生产环境中使用还需要二次加工整合到项目中。
*/
import React, { FC } from "react";
import { ProTable } from "@alipay/tech-ui";
import request from "umi-request";
const Page: FC = () => {
const columns = [
{
title: "序号",
dataIndex: "0-序号",
valueType: "index",
},
{
title: "标题",
dataIndex: "1-标题",
valueType: "text",
},
{
title: "状态",
dataIndex: "2-状态",
valueEnum: {
成功: {
text: "成功",
status: "Success",
},
处理中: {
text: "处理中",
status: "Processing",
},
失败: {
text: "失败",
status: "Error",
},
},
},
{
title: "标签",
dataIndex: "3-标签",
render:
'// 请去掉此处引号 // () => [<Tag color="success">绿色</Tag>,<Tag color="default">默认</Tag>,<Tag color="error">红色</Tag>]',
},
{
title: "创建时间",
dataIndex: "4-创建时间",
valueType: "dateTime",
},
{
title: "操作",
dataIndex: "5-操作",
valueType: "option",
render:
'// 请去掉此处引号 // ()=>[<a key="修改">修改</a>,<a key="删除">删除</a>]',
},
];
const dataSource = [
{
key: "mock-1",
"1-标题": "《关雎》 - 诗经",
"2-状态": "成功",
"3-标签": "绿色",
"4-创建时间": "2021-12-24",
},
{
key: "mock-2",
"1-标题": "关关雎鸠",
"2-状态": "处理中",
"3-标签": "默认",
"4-创建时间": "2021-12-20",
},
{
key: "mock-3",
"1-标题": "在河之洲",
"2-状态": "失败",
"3-标签": "红色",
"4-创建时间": "2021-12-20",
},
{
key: "mock-4",
"1-标题": "窈窕淑女",
"2-状态": "成功",
"3-标签": "绿色",
"4-创建时间": "2021-12-08",
},
{
key: "mock-5",
"1-标题": "君子好逑",
"2-状态": "成功",
"3-标签": "绿色",
"4-创建时间": "2021-12-08",
},
];
const dataConfig = { dataSource };
return (
<ProTable
showHeader
size="middle"
bordered={false}
headerTitle="高级标题"
columns={columns}
{...dataConfig}
/>
);
};
export default Page;
那这一趴的工具,可能在未来的某个时刻向大家开放。
🚀 基础面板布局升级
为了响应诸多用户对于面板布局优化的呼声,同时为了“憋下一个大招”,我们在这个版本中,对设计系统相关的面板做了一次统一的重构与升级。
此次升级可能会对大家的使用习惯带来一定挑战,大家可以及时向我们反馈使用体验,我们会在大家的反馈基础上做进一步的优化升级。
:::info 温馨提示:由于本次升级存在底层数据结构的破坏性变更,如在升级版本后出现报错页面,请及时联系 @倏昱 进行排查。 :::
🐛 问题修复
3.1.0 问题修复
「C2D」修正 Ant Design 部分 C2D 组件无法正常生成的问题;
3.0.x 问题
「流程连线」修正连线功能失效的问题;
- 「智能图表」修正智能图表无法正常生成的问题;
- 「智能图表」修正智能图表配置面板的样式问题
- 「填充」修复填充文本与填充图片失效的问题;
- 「素材中心」修复素材中心无法正常打开的问题;
- 「C2D」修正部分C2D组件无法正常生成的问题;
- 「上传」修正部分场景下无法正常上传到语雀的问题;
- 「通用」修正某些情况下工具条会重复出现图标的问题;