B端設(shè)計(jì)指南:選擇錄入
編輯導(dǎo)語:在前兩篇文章中,我們主要講到 B 端產(chǎn)品最為重要的信息展示組件“表格”的設(shè)計(jì)思路,根據(jù)不同的場景對表格進(jìn)行了答疑。今天本文作者和我們簡單聊聊在「數(shù)據(jù)錄入場景」中的一個(gè)小點(diǎn):選擇錄入。
提前說一句:其實(shí)這篇文章快寫完時(shí)發(fā)現(xiàn)已經(jīng)有類似的文章,由于自己寫文章并不會(huì)在乎市面上是否有同類型的文章,文章的靈感也多來源于自己的工作中遇到的實(shí)際問題。
選擇錄入的痛點(diǎn):
- 選擇類型多:在我們常見的選擇類型中,常使用的有四種:“單選框、多選框、開關(guān)、下拉選擇。”這四類便是選擇組件當(dāng)中的基礎(chǔ)組件。在實(shí)際業(yè)務(wù)的使用中,還會(huì)涉及到:“日期選擇、樹形選擇、人員選擇、穿梭框、級聯(lián)選擇、評分” 等一些業(yè)務(wù)層面的組件,類型之多再加上每種組件用法也不盡相同,因此需要在每種組件的區(qū)分上多加思考。
其實(shí)我在評審許多設(shè)計(jì)師的稿件中,經(jīng)常發(fā)現(xiàn)大家對它使用的場景并不了解。
比如在一個(gè)表單中,讓用戶選擇性別時(shí),是采取下拉選擇、單選框、多選框甚至是開關(guān)呢?那如果我們選擇家庭住址又應(yīng)該如何設(shè)計(jì)呢?這一系列問題都需要去解決。
- 細(xì)節(jié)多:選擇錄入看起來一個(gè)小小的按鈕,好像當(dāng)中的細(xì)節(jié)不會(huì)特別復(fù)雜,但當(dāng)你實(shí)踐過后就知道,其背后有著許許多多的潛臺詞以及默認(rèn)規(guī)則。比如在單選框是沒有讓用戶進(jìn)行取消的操作;開關(guān)是不會(huì)讓用戶進(jìn)行提交保存的,默認(rèn)規(guī)則往往是這類交互本身所包含的。因此讀懂組件中的潛臺詞,也就是我們要做的事。
由于知識點(diǎn)很多,想要把它們完整講清楚需要花大量時(shí)間,因此我會(huì)在后續(xù)的文章中與大家逐一拆解,掰開揉碎慢慢消化,篇幅有限,今天我們先來聊聊前面幾個(gè)稍微容易理解的:「單選框、多選框、開關(guān)」,究竟應(yīng)該如何設(shè)計(jì)~
一、單選框 Radio
1. 單選框的歷史
單選框,也常叫做 單選按鈕、單選,它最早來源于收音機(jī)上的物理按鈕,當(dāng)時(shí)用于收音調(diào)頻之間的相互切換。當(dāng)一個(gè)按鈕被按下時(shí),另一個(gè)按鈕將會(huì)被彈起,使收音機(jī)只能擁有一個(gè)“按下狀態(tài)的”按鈕。
而早在計(jì)算機(jī)用戶界面誕生之初(The Xerox Alto)就已經(jīng)有了單選框的出現(xiàn)。同時(shí)在HTML的底層中,Radio 就作為一個(gè)最基礎(chǔ)的標(biāo)簽,擁有「無法撼動(dòng)的地位」所以在各大設(shè)計(jì)系統(tǒng)中一直作為基礎(chǔ)組件被沿用至今。
但隨著移動(dòng)互聯(lián)網(wǎng)的普及,單選框這一形式在用戶心中被逐漸的弱化,取而代之的是各類功能相同但形式繁多的按鈕,這也是目前很多B端設(shè)計(jì)師存在的認(rèn)知誤區(qū)之一。
- 單選按鈕:根據(jù)移動(dòng)移動(dòng)端的交互形式與「菲茲定律」,單選按鈕主要將自己的熱區(qū)擴(kuò)大,能夠更方便使用鼠標(biāo)進(jìn)行點(diǎn)擊操作,可針對特定的B端產(chǎn)品進(jìn)行優(yōu)化。但面積增大的同時(shí)帶來的是屏效降低,作為B端產(chǎn)品,屏效比也是一個(gè)非常重要的因素之一,因此需要權(quán)衡兩者的利弊。
- 單選組:通過上面的單選按鈕,將兩個(gè)以上的按鈕進(jìn)行排布,而形成的單選組,能夠盡可能增加展示效率。單選組的功能與 Tab 非常類似,也因此單選按鈕與單選組是一個(gè)相輔相成的過程。
2. 單選框的定義
單選框:允許用戶從多個(gè)選項(xiàng)中,選擇一個(gè)選項(xiàng),且選項(xiàng)之間存在互斥關(guān)系,這也是「單選」名稱的由來。
單選框的外觀一般是一個(gè)空白的圓洞,旁邊則通常有文字標(biāo)簽;標(biāo)簽的用途除了描述之外,還可以作為操作熱區(qū),當(dāng)用戶點(diǎn)擊標(biāo)簽,所應(yīng)的單選框就會(huì)被選中;已選上的單選按鈕一般會(huì)在圓洞內(nèi)加上一小圓點(diǎn)。
3. 單選框的交互邏輯
- 選項(xiàng)數(shù)量:使用單選框的選項(xiàng)數(shù)量一般為 2-5 個(gè)之間,因?yàn)樵谝粋€(gè)正常的表單中,是不允許寬度過寬導(dǎo)致頁面排布困難,同時(shí)使用多于5個(gè)的單選框,會(huì)十分影響閱讀效率,因此超出5個(gè)便可采取「下拉菜單」的方式進(jìn)行展示。在工作中常見的的單選框?yàn)樾詣e、是否選擇等…
- 默認(rèn)選項(xiàng):默認(rèn)值在我們B端的設(shè)計(jì)中,往往是一把雙刃劍,你運(yùn)用得好可以為自己的設(shè)計(jì)增加易用性,因?yàn)槟J(rèn)值本身在表單中并不常見(不可能給每一個(gè)表單都給上默認(rèn)值),而在特定的場景中使用默認(rèn)值會(huì)有意想不到的效果。
說一個(gè)我實(shí)際工作中遇到的內(nèi)容,在我之前負(fù)責(zé)的一個(gè)關(guān)于醫(yī)美客戶系統(tǒng)的的SCRM中,當(dāng)客戶到店后需要由醫(yī)美咨詢師為每一位顧客新建一個(gè)客戶資料,而醫(yī)美行業(yè)的特殊性導(dǎo)致我們的大多數(shù)醫(yī)美客戶都為女性,因此在設(shè)計(jì)表單中的性別一欄上便可將默認(rèn)值選擇為女性,這樣方便醫(yī)美咨詢師快速補(bǔ)充用戶信息,可以進(jìn)行更高效的信息錄入。
當(dāng)然,我說了雙刃劍肯定代表它也有弊的一面,我舉一個(gè)反例,比如我們在設(shè)計(jì)一個(gè)調(diào)查問卷中,去預(yù)設(shè)一些默認(rèn)值就不太合理,因?yàn)閱柧碇行枰獪p少對選項(xiàng)值的干預(yù),保證其真實(shí)性,才能讓默認(rèn)選項(xiàng)會(huì)導(dǎo)致錄入的數(shù)據(jù)產(chǎn)生準(zhǔn)確,避免為后期的數(shù)據(jù)分析埋下“深坑”。
- 清除選擇:不知道大家有沒有發(fā)現(xiàn),單選框在你選擇過后,就不能成為「為空狀態(tài)」。因?yàn)閱芜x框沒有讓你跳過的回退機(jī)制,導(dǎo)致你在設(shè)計(jì)時(shí)就需要格外小心比如在一個(gè)表單中出現(xiàn)自己的婚姻狀況的單選框(非必填),里面有未婚、已婚、離異三種選擇,當(dāng)我選擇未婚后,突然覺得這個(gè)信息較為私密,為了保證我自己的信息安全需要清除我剛才的選擇,這時(shí)我完全就沒有任何辦法,想要回退就只有一種選擇,刷新這個(gè)頁面,進(jìn)行重新填寫。而我們在設(shè)計(jì)中不能避免此類方式,這時(shí)候就需要選項(xiàng)的 「容錯(cuò)機(jī)制」。
- 容錯(cuò)機(jī)制: 既然單選無法清除選擇,我們就要對單選進(jìn)行相應(yīng)的優(yōu)化,比如在選項(xiàng)中設(shè)置一個(gè)為「為空選項(xiàng)」對這類情況進(jìn)行容錯(cuò)處理,不然用戶就會(huì)感受到無法回退的尷尬。這都是單選框所帶來的潛在交互,大家在設(shè)計(jì)中一定要格外注意。
二、多選框 Checkbox
1. 多選框的定義
多選框,也常叫做復(fù)選框、勾選框,它允許用戶選擇一個(gè)或多個(gè)獨(dú)立選項(xiàng),將自己想要的選項(xiàng)作為值,多個(gè)條件間的邏輯關(guān)系為并列關(guān)系。
多選框在實(shí)際業(yè)務(wù)中其實(shí)也分為兩種不同形態(tài):單個(gè)多選框與多選框。
1)單個(gè)多選框
英文叫做(single checkbox)只出現(xiàn)一個(gè)多選框提供給用戶進(jìn)行選擇,只包含“是”與“否”兩種邏輯,用戶可以選擇其一。它與之后「開關(guān)Switch」的邏輯十分接近,但兩者的適用場景也有很大不同。
比如在我們經(jīng)常遇到的用戶協(xié)議的頁面中,同意協(xié)議通常都是采取單個(gè)多選框的形式,而開關(guān)相比單個(gè)多選框,更加強(qiáng)調(diào)選中的狀態(tài)。之后會(huì)與開關(guān)進(jìn)行深度對比,不做延展。
2)多選框
是多選框的一種通用樣式,允許用戶選擇多個(gè)項(xiàng),主要用于各類表單設(shè)計(jì)中,所以用戶對于它的認(rèn)知、功能以及行為操作有明確的心理預(yù)期和感知。
2. 多選框的特殊狀態(tài)
多選框相比其它控件,增加了兩個(gè)較為特殊的狀態(tài) “半選中” “禁用(已選中)” ,因此這里僅僅單獨(dú)講解,其他狀態(tài)便不做過多贅述。
- 半選中:
半選中狀態(tài)(Indeterminate)出現(xiàn)的條件必須具備以下兩點(diǎn):
- 擁有「全選」功能,因?yàn)榘脒x中狀態(tài)是全選狀態(tài)的一種特殊狀態(tài)形式,它依附于全選。所以是當(dāng)一個(gè)選擇框中有全選狀態(tài)才會(huì)有幾率出現(xiàn)半選狀態(tài)。
- 擁有「選中狀態(tài)的子項(xiàng)」,如果我們把全選看作是「父」,則其下的子選項(xiàng)看做是「子」,因?yàn)榻换サ讓舆壿嫳闶菭顟B(tài)的改變需要隨時(shí)體現(xiàn),因?yàn)椤缸印範(fàn)顟B(tài)的變化,作為「父」的狀態(tài)也應(yīng)該隨之改變,這樣的父子聯(lián)動(dòng)才會(huì)有半選中狀態(tài)的出現(xiàn)。
上面說到需要父子聯(lián)動(dòng),全選是選中其下所有的選項(xiàng),而我只選擇了其下一個(gè)選項(xiàng)時(shí),就應(yīng)該展示半選中狀態(tài)。同時(shí),當(dāng)前多選框正在處于半選中狀態(tài)時(shí),點(diǎn)擊多選框會(huì)執(zhí)行全選操作。
- 禁用-已選中:
禁用-已選中狀態(tài)(Checked-disable)出現(xiàn)多表示該多選框已經(jīng)被激活,只是在當(dāng)前情況下不能進(jìn)行操作。通常不能進(jìn)行操作的場景有以下兩點(diǎn):
- 登錄賬號權(quán)限不足,無法對該條數(shù)據(jù)進(jìn)行修改。且在此之前,該條數(shù)據(jù)已經(jīng)被激活。
- 該操作為系統(tǒng)級別操作,通常展示出來是為了讓用戶了解到有此類操作;同時(shí)并不允許用戶操作此權(quán)限。因而采取禁用已選中進(jìn)行表示。
當(dāng)然多選框還會(huì)有很多不同狀態(tài),會(huì)在章節(jié)末尾進(jìn)行表格總結(jié)。
3. 多選的交互邏輯
- 選項(xiàng)數(shù)量:與單選基本一致,因?yàn)樗羞x項(xiàng)基本處于外露狀態(tài),因此不建議放5個(gè)以上的選項(xiàng)值,超過5個(gè)時(shí)可考慮采取下拉菜單的形式,避免選項(xiàng)多且復(fù)雜,難以把控。
- 默認(rèn)值:默認(rèn)值在多選框中并不常見,在一個(gè)多選框中設(shè)置默認(rèn)值一定要思考清楚。當(dāng)然這里也會(huì)存在用戶之前的數(shù)據(jù),那就另當(dāng)別論。
- 需要提交操作:在多選的場景中,提交是必不可少的一個(gè)操作情況,這里先按下不表,會(huì)與第三章的「開關(guān)」進(jìn)行一個(gè)簡單的對比。
4. 典型頁面
在實(shí)際工作中,多選框會(huì)出現(xiàn)在一些典型的頁面場景中,針對不同的頁面場景,我們來看看究竟應(yīng)該如何進(jìn)行處理。
- 用戶權(quán)限管理
在用戶權(quán)限管理頁面中,經(jīng)常會(huì)出現(xiàn)多選框的身影,而在權(quán)限這類頁面中,往往是一個(gè)不斷重復(fù)排列的多選框,針對不同的角色,去選擇不同的權(quán)限。且每一個(gè)權(quán)限都是開啟或關(guān)閉狀態(tài),也因此采取多選框也尤為合適。我們來看看不同產(chǎn)品中,都有著哪些權(quán)限頁面設(shè)置的技巧。
語雀:權(quán)限作為語雀的一個(gè)亮點(diǎn)功能,便將所有角色分為三類:管理員、成員、只讀成員。
在定義中,因?yàn)楣芾韱T擁有全部權(quán)限,所以不需要用戶單獨(dú)進(jìn)行配置。只讀成員同樣只會(huì)擁有單獨(dú)的查看權(quán)限,而我們需要去對成員進(jìn)行單獨(dú)的配置,然后將成員的權(quán)限進(jìn)行細(xì)分,由于權(quán)限的數(shù)量并不多,因此采取縱向排列,方便用戶對于多個(gè)權(quán)限進(jìn)行對比。
上面語雀的權(quán)限配置頁面過于簡單,在真實(shí)B端業(yè)務(wù)時(shí)就會(huì)顯得有些弱不經(jīng)風(fēng)。我們實(shí)際工作中面對多維度多層級的權(quán)限管理時(shí),又應(yīng)該如何設(shè)計(jì)?我們來看看 Coding 它是如何做的。
因?yàn)樵谝粋€(gè)正常的B端軟件中,權(quán)限通常會(huì)拆分得特別細(xì),對于不同字段與角色,他們的權(quán)限也會(huì)不盡相同。
Coding首先在左側(cè)會(huì)展示“用戶組”也就是我們上面說到的角色分類,用戶可以去自定義角色類型有哪些,其次在對角色權(quán)限的配置中,會(huì)展示出用戶可以自定義的所有功能,粗略估算大概會(huì)有100+個(gè)權(quán)限,也就意味著會(huì)有100+個(gè)多選框需要展示。
當(dāng)100+的多選框放在你面前,最為基礎(chǔ)的對齊則顯得尤為關(guān)鍵。通過限制多選框標(biāo)簽的整體寬度,強(qiáng)制將其縱向?qū)R,雖然遇到長文本時(shí)省略給用戶帶來不太友好的體驗(yàn),但對齊所帶來的留白、節(jié)奏感是遠(yuǎn)比省略帶來的好處要多(當(dāng)然在對長文本寬度的定義中,需要多考慮下常見字段的長度即可)。
其次,在每一個(gè)大功能中,Coding都設(shè)置有一個(gè)全選功能,目前放置在整個(gè)列表的末尾,是一個(gè)特別贊的設(shè)計(jì),能夠幫助用戶對每一個(gè)字段的權(quán)限進(jìn)行統(tǒng)一配置,是一個(gè)經(jīng)常使用的快捷入口。
- 流程管理頁面
在流程管理頁面中,多選框也是不可忽略的頁面。因?yàn)樵谡麄€(gè)流程頁面中會(huì)對每個(gè)狀態(tài)執(zhí)行開啟與關(guān)閉操作,因此在這里同樣會(huì)重復(fù)多選框。
比如在 ONES 的流程管理頁面中,看起來像是表格,其中縱向代表每個(gè)「流程開始狀態(tài)」,橫向代表每個(gè)流程階段所要去向哪些狀態(tài),每個(gè)表格都會(huì)展示一個(gè)復(fù)選框,去配置它是否要流轉(zhuǎn)到此狀態(tài),從而實(shí)現(xiàn)業(yè)務(wù)流轉(zhuǎn)的需求。
而在這里的設(shè)計(jì),最令人頭疼的是整體的表現(xiàn)形式,因?yàn)槟壳岸?,需要將初始狀態(tài)、新增狀態(tài)、激活狀態(tài)、禁用狀態(tài)等在一個(gè)表格中進(jìn)行表示,更重要的是要能夠讓用戶理解整個(gè)表格所代表的含義,這也是目前能看到的最好的設(shè)計(jì)成品,大家有什么更好的建議,歡迎在評論區(qū)留言,大家一起討論。
- 表格頁面
表格頁面最為復(fù)雜多變,也因此在表格中的多選框出現(xiàn)了兩種不同的形式:
一種將多選框直接展示,讓用戶更直接選擇;另一種則是Hover到每一行顯示多選框,同時(shí)一定要去注意全選與半選中的邏輯,在表格的設(shè)計(jì)上尤為重要,不能出現(xiàn)邏輯上的漏洞,這里也就不過多贅述。
最后補(bǔ)充一下多選框的所有狀態(tài)的交互邏輯:
三、開關(guān) Switch
1. 開關(guān)的定義
開關(guān),它是一種特殊的選擇,其含義代表你的選擇非黑即白。
它不同于上面的控件,當(dāng)用戶點(diǎn)擊后,開關(guān)需要經(jīng)歷一個(gè)加載狀態(tài),然后「立即執(zhí)行」。這樣的差別就導(dǎo)致開關(guān)的用法與其它控件并不相同,立即執(zhí)行所帶來的及時(shí)性也是設(shè)計(jì)師最容易與其他組件進(jìn)行混淆的點(diǎn)。
2. 開關(guān)的由來
在開關(guān)的早期,為了降低用戶的學(xué)習(xí)成本,模仿現(xiàn)實(shí)生活中的開關(guān)進(jìn)行設(shè)計(jì),而隨著扁平風(fēng)格的到來,開關(guān)便得到了精簡,去掉原本產(chǎn)品中的質(zhì)感、投影,轉(zhuǎn)向更加明確的「狀態(tài)信息」。
轉(zhuǎn)眼到了 B端產(chǎn)品中,很多設(shè)計(jì)師都會(huì)沿用這一習(xí)慣,但是在HTML的代碼邏輯里,并沒有 Switch 的標(biāo)簽,也就意味著開關(guān)并不是網(wǎng)頁本身所支持的形式,在程序員處理上則需要花費(fèi)更多心思。
不過在目前常見的前端框架中,對開關(guān)都進(jìn)行了支持,比如 Element、Antdesign 可以直接引用。
3. 開關(guān)的交互邏輯
雖然在組件上可以直接進(jìn)行引用,但并不代表我們作為設(shè)計(jì)者,不需要去考慮它基本的交互邏輯以及使用場景。
- 即時(shí)性:開關(guān)是一個(gè)立即執(zhí)行的操作,因此它打破了人們對于正常表單的認(rèn)知(需要有按鈕進(jìn)行數(shù)據(jù)提交),因此開關(guān)與表單是一個(gè)相互排斥的關(guān)系,兩者同時(shí)出現(xiàn)必然會(huì)產(chǎn)生些許矛盾,表單中使用開關(guān)切記要慎重。那如何處理開關(guān)與表單之間的關(guān)系?就需要理解開關(guān)與表單間的「權(quán)重關(guān)系」。
- 權(quán)重關(guān)系:開關(guān)要比表單的權(quán)重更高。開關(guān)會(huì)位于整個(gè)表單的頂部,對下面的表單進(jìn)行整體操作,說起來更點(diǎn)空洞,我們看一個(gè) MacOS 的案例:
在最新 Big Sur 系統(tǒng)中,設(shè)置頁面就采取了類似操作,我們打開設(shè)置-通知,發(fā)現(xiàn)開關(guān)與表單同時(shí)存在。這里也可看到,允許通知的開關(guān)在最頂層,是控制整個(gè)表單權(quán)重最高的操作,同時(shí)下方單選、多選框、下拉菜單都受到頂部開關(guān)控制。
當(dāng)然,我們在實(shí)際的設(shè)計(jì)中,同樣會(huì)遇到類似的情況,比如在飛書的自建應(yīng)用免審規(guī)則配置中:首先用戶需要去選擇開啟此功能,開啟后下方會(huì)展開一個(gè)基本表單,用于用戶對應(yīng)用規(guī)則中更為細(xì)致的配置,并且要注意,所有的配置都是實(shí)時(shí)生效,因此在每一次修改配置時(shí),飛書上都會(huì)有 Loading 效果。
當(dāng)然我們可以將開關(guān)換成單一多選框,但切換后用戶就很難理一二級之間的邏輯關(guān)系,因此開關(guān)更為適合權(quán)重更高的操作。
- 明確性:開關(guān)能明確的表示當(dāng)前的狀態(tài),當(dāng)開關(guān)亮起時(shí),則代表開關(guān)進(jìn)入開啟狀態(tài),當(dāng)開關(guān)置灰時(shí)則進(jìn)行關(guān)閉狀態(tài)(感覺好像是廢話,但你得需細(xì)細(xì)的品)并且在開關(guān)的使用中,是通過表達(dá)當(dāng)前系統(tǒng)的狀態(tài),因此在開關(guān)所配合的文案中需要格外注意。
- 重要提示:因?yàn)殚_關(guān)的權(quán)重更高,狀態(tài)也更為明確,因此它的出現(xiàn)多為一些需要系統(tǒng)校驗(yàn)的操作,對于用戶不滿足條件時(shí),需要進(jìn)行禁止的提示。比如在明道云的工作流列表中,用戶便可使用開關(guān)對流程進(jìn)行快速開啟,不滿足條件時(shí),會(huì)有提示彈窗進(jìn)行提示,并能讓用戶快速跳轉(zhuǎn)進(jìn)行修改操作。
- 加載狀態(tài):最后開關(guān)作為一個(gè)關(guān)鍵操作,在 B端系統(tǒng)層面上同樣會(huì)有進(jìn)行加載的情況,這里就提醒一下大家,不做擴(kuò)展。
4. 開關(guān)的討論 – 為開關(guān)正名
在互聯(lián)網(wǎng)上,時(shí)??吹?DISS 開關(guān)不應(yīng)該出現(xiàn)在網(wǎng)頁設(shè)計(jì)中,這里看到了一篇文章中討論到《為什么在web上使用Switch是愚蠢的設(shè)計(jì)》,其實(shí)我有不同的意見,簡單說一說我對開關(guān)的看法:
因?yàn)樵?B 端的場景中,會(huì)有很多特殊的要求,因此不能一桿子將 Switch 進(jìn)行一桿子打死,凡事都得辯證看待,需要去看到開關(guān)好的一面,并且規(guī)避它的一些不足。
首先,在 Web 端中不能大面積的去使用開關(guān),因?yàn)榇罅康拈_關(guān)導(dǎo)致的就是對頁面設(shè)計(jì)的褻瀆,當(dāng)然開關(guān)依然有它的獨(dú)特之處,在開關(guān)的交互邏輯中雖然已經(jīng)提到了部分特點(diǎn),但我還是來簡單說說我的理由:
使用開關(guān)主要是想利用開關(guān)狀態(tài)去“做文章”。使用開關(guān)在比起其他條件,會(huì)更加強(qiáng)調(diào)它的狀態(tài),并能讓用戶通過狀態(tài)去控制下層的其他組件(單選框、多選框等…)這就是開關(guān)在 B端產(chǎn)品中的實(shí)際需求。
同時(shí)因?yàn)殚_關(guān)是立即執(zhí)行的操作,因此需要在每一次變更狀態(tài)時(shí)進(jìn)行相應(yīng)的反饋,比如表單組件狀態(tài)上的提示,輔助用戶進(jìn)行判斷狀態(tài)即可。
回到我們討論的開關(guān)在 WEB 中的使用上,并不能因?yàn)橐驗(yàn)殚_關(guān)不是 HTML 基礎(chǔ)標(biāo)簽而去否定,并且在我們 B端實(shí)際業(yè)務(wù)中,確實(shí)會(huì)遇到開關(guān)的場景,因此大家在使用開關(guān)時(shí)還是應(yīng)該根據(jù)情況,進(jìn)行使用。
作者:CE青年,2B行業(yè)的2B設(shè)計(jì)師~公眾號:CeDesign
本文由 @CE青年 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議。
表格上,不能看了