表單復盤|取消表單是否影響子表單的數據變更?
表單設計其實有許多值得探討的地方,比如本文所討論的這個問題——取消表單,是否影響子表單的數據變更?這篇文章里,作者就做了探討和案例拆解,一起來看看吧,或許可以幫助你更好地洞察表單設計背后的邏輯所在。
一、需求
創建表單時,在表單內需新建一個子表單(為方便理解,暫且稱之為子表單和主表單),若此時取消創建主表單,那新增的子表單是否應該被存儲?
在《web表單設計》中,Luke Wroblewski提到關于表單的理解,在系統或者計算機數據庫內部采用一套特定數據定義人、地點、過程或事務的有效記錄。如果需要更新或創建記錄,系統或者計算機程序會直接請求“給我需要的信息”,這個請求就會以表單形式出現在人們面前。
表單可以理解為用戶和數據庫進行數據交換的展示形式。用戶使用輸入框,選擇器等組件在表單中完成對數據的錄入或修改,最終需有一個“完成”的動作來確認進行數據交換。
定義“完成”動作的呈現形式和規則很多樣,比如“完成”按鈕、實時保存、失焦狀態等。
大多數情況下還有一個次要動作,來允許用戶撤銷輸入的數據,比如取消、重置、返回等。
如果將“取消”理解為撤銷當前表單輸入的數據,子表單也屬于表單內容的一部分,那么對于子表單輸入的數據是否也應該撤銷呢?實際上兩種結果都有,那么應該如何定義呢?先看2個例子。
1. 微信公眾號
微信發朋友圈中有一個功能叫做“誰可以看”,若以標簽的方式進行選擇時,可以對已有標簽的成員進行增減。那么請問,若取消發布朋友圈,是否會撤銷關于標簽中成員的增減操作?
肯定不會對吧,微信也確實不會。此時子表單的數據交換僅由自己控制。
這里有2點可以考慮(1)子表單是否有單獨的管理入口(2)子表單的應用范圍。
微信這里,標簽管理不依附于發朋友圈,有獨立的入口可以進行設置管理。且標簽的內容不僅只針對于當前這一條朋友圈,而是針對所有的朋友圈,所以標簽的設置可復用。
為了滿足用戶的多種使用場景,將標簽的人員管理放在了發布朋友圈內,看起來子表單在父表單內,但實際的業務兩者依然獨立,所以子表單數據交換僅由自己控制,不會被主表單的動作影響。
2. 飛書會議室創建
飛書-會議室詳情頁,有一個叫做“單次可預定時長上限”的設置項。該項可以從系統定制好的選項中選擇,也可以自定義。如圖,新增后,該選項會被選中,且會出現在下拉菜單的選項里。
飛書這里對于子表單(自定義項)的規則是,僅可被當前會議室使用,若沒有被使用則會清空。
對用戶來說其實是提供了2種設置方式,從系統內置的選項中選擇,或者自己輸入自定義的數值。只是在表現形式上將用戶輸入的數值增加到選項列表中,看起來好像是對于內置選項列表新增了一項,實際并沒有。新增的數值只能應用于當前會議室,若不被使用,也沒有存在的價值,則不會被存儲。
所以子表單的新增項僅應用于主表單,不能單獨存在,所以會被主表單的動作影響。
以上可以總結為,當子表單的內容僅應用于主表單,則需被主表單的動作影響。
如果用戶現在的需求是希望自定義項可復用,這里就需將自定義項增加到選項列表中,設置其他會議室時,也可以直接選擇已添加的選項。
這種情況下需考慮,對于選項的管理是只能在某個會議室詳情中設置,還是有單獨的管理入口去設置。如果只能在某個會議室中去設置的話,此時管理子表單的路徑長,管理成本高。當主表單未保存,表示子表單新增的內容并未被使用,為了避免新增無用的數據,增加管理成本,所以主表單的動作應該影響子表單的數據變更。
若有單獨管理入口,管理成本低,優先考慮數據復用,主表單的動作不影響子表單的內容比較合適。
那么如何判定是否增加單獨的管理入口。要考慮的點就很多了,比如是否多人協作,功能對于業務的重要性,或者是否有實際的數據支撐等等。
二、小結
先根據子表單的應用范圍考慮,若當子表單的內容僅應用于主表單,則需被主表單的動作影響。
若子表單可應用于其他表單,則需考慮子表單是否有單獨的管理入口,若無,需在主表單內設置,則優先考慮管理成本,建議被主表單的動作影響。若有,管理成本低,優先考慮數據復用,主表單的動作不影響子表單的內容比較合適。
大概就醬~
為我投票
我在參加人人都是產品經理2023年度評選,希望喜歡我的文章的朋友都能來支持我一下~
點擊下方鏈接進入我的個人參選頁面,點擊紅心即可為我投票。
每人每天最多可投30票,投票即可獲得抽獎機會,抽取書籍、人人都是產品經理紀念周邊&起點課堂會員等好禮哦!
投票傳送門:https://996.pm/76ygq
專欄作家
阿青,公眾號:阿青碎碎念,人人都是產品經理專欄作家。B端UX設計師。
本文原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自Unsplash,基于CC0協議。
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
分析缺少深度了,觀點也也缺少論據