2

表单复盘|取消表单是否影响子表单的数据变更?

 9 months ago
source link: https://www.woshipm.com/pd/5958180.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

表单复盘|取消表单是否影响子表单的数据变更?

2023-12-13
1 评论 208 浏览 0 收藏 8 分钟

表单设计其实有许多值得探讨的地方,比如本文所讨论的这个问题——取消表单,是否影响子表单的数据变更?这篇文章里,作者就做了探讨和案例拆解,一起来看看吧,或许可以帮助你更好地洞察表单设计背后的逻辑所在。

c2ad1714-d9e1-11ed-bd74-00163e0b5ff3.jpg

创建表单时,在表单内需新建一个子表单(为方便理解,暂且称之为子表单和主表单),若此时取消创建主表单,那新增的子表单是否应该被存储?

QBKCbQI1dtRxUz5BHW4V.jpeg

在《web表单设计》中,Luke Wroblewski提到关于表单的理解,在系统或者计算机数据库内部采用一套特定数据定义人、地点、过程或事务的有效记录。如果需要更新或创建记录,系统或者计算机程序会直接请求“给我需要的信息”,这个请求就会以表单形式出现在人们面前。

表单可以理解为用户和数据库进行数据交换的展示形式。用户使用输入框,选择器等组件在表单中完成对数据的录入或修改,最终需有一个“完成”的动作来确认进行数据交换。

定义“完成”动作的呈现形式和规则很多样,比如“完成”按钮、实时保存、失焦状态等。

大多数情况下还有一个次要动作,来允许用户撤销输入的数据,比如取消、重置、返回等。

如果将“取消”理解为撤销当前表单输入的数据,子表单也属于表单内容的一部分,那么对于子表单输入的数据是否也应该撤销呢?实际上两种结果都有,那么应该如何定义呢?先看2个例子。

1. 微信公众号

微信发朋友圈中有一个功能叫做“谁可以看”,若以标签的方式进行选择时,可以对已有标签的成员进行增减。那么请问,若取消发布朋友圈,是否会撤销关于标签中成员的增减操作?

肯定不会对吧,微信也确实不会。此时子表单的数据交换仅由自己控制。

这里有2点可以考虑(1)子表单是否有单独的管理入口(2)子表单的应用范围。

微信这里,标签管理不依附于发朋友圈,有独立的入口可以进行设置管理。且标签的内容不仅只针对于当前这一条朋友圈,而是针对所有的朋友圈,所以标签的设置可复用。

为了满足用户的多种使用场景,将标签的人员管理放在了发布朋友圈内,看起来子表单在父表单内,但实际的业务两者依然独立,所以子表单数据交换仅由自己控制,不会被主表单的动作影响。

2. 飞书会议室创建

飞书-会议室详情页,有一个叫做“单次可预定时长上限”的设置项。该项可以从系统定制好的选项中选择,也可以自定义。如图,新增后,该选项会被选中,且会出现在下拉菜单的选项里。

yZT8k7aUS3DrGPc4dIOO.jpeg

飞书这里对于子表单(自定义项)的规则是,仅可被当前会议室使用,若没有被使用则会清空。

对用户来说其实是提供了2种设置方式,从系统内置的选项中选择,或者自己输入自定义的数值。只是在表现形式上将用户输入的数值增加到选项列表中,看起来好像是对于内置选项列表新增了一项,实际并没有。新增的数值只能应用于当前会议室,若不被使用,也没有存在的价值,则不会被存储。

所以子表单的新增项仅应用于主表单,不能单独存在,所以会被主表单的动作影响。

ohKgppI4jL2pM5Sp8uRk.jpeg

以上可以总结为,当子表单的内容仅应用于主表单,则需被主表单的动作影响。

如果用户现在的需求是希望自定义项可复用,这里就需将自定义项增加到选项列表中,设置其他会议室时,也可以直接选择已添加的选项。

这种情况下需考虑,对于选项的管理是只能在某个会议室详情中设置,还是有单独的管理入口去设置。如果只能在某个会议室中去设置的话,此时管理子表单的路径长,管理成本高。当主表单未保存,表示子表单新增的内容并未被使用,为了避免新增无用的数据,增加管理成本,所以主表单的动作应该影响子表单的数据变更。

若有单独管理入口,管理成本低,优先考虑数据复用,主表单的动作不影响子表单的内容比较合适。

那么如何判定是否增加单独的管理入口。要考虑的点就很多了,比如是否多人协作,功能对于业务的重要性,或者是否有实际的数据支撑等等。

先根据子表单的应用范围考虑,若当子表单的内容仅应用于主表单,则需被主表单的动作影响。

若子表单可应用于其他表单,则需考虑子表单是否有单独的管理入口,若无,需在主表单内设置,则优先考虑管理成本,建议被主表单的动作影响。若有,管理成本低,优先考虑数据复用,主表单的动作不影响子表单的内容比较合适。

大概就酱~

我在参加人人都是产品经理2023年度评选,希望喜欢我的文章的朋友都能来支持我一下~

点击下方链接进入我的个人参选页面,点击红心即可为我投票。

每人每天最多可投30票,投票即可获得抽奖机会,抽取书籍、人人都是产品经理纪念周边&起点课堂会员等好礼哦!

投票传送门:https://996.pm/76ygq

专栏作家

阿青,公众号:阿青碎碎念,人人都是产品经理专栏作家。B端UX设计师。

本文原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议。

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App

format,webp

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK