天天看點

BlazorUI 元件庫——回報與彈層 (1)

作者:六月六的牛人

元件是前端的基礎。元件庫也是前端架構的核心中的重點。

元件庫中有一個重要的闆塊:回報與彈層!

回報與彈層在元件形态上,與 Button、Input 類等嵌入界面的元件有所不同,通常以層的形式出現。

本篇文章簡單介紹一下元件庫中回報與彈層的元件形态、分類及功能說明。關于回報與彈層元件在元件庫中的設計與實作,後續文章将會慢慢補全。

回報

在元件設計中,回報是很重要的一個元素。包括使用者操作的滑鼠點選,移動、懸停,按鍵等改變元件的顔色都屬于回報。但今天主要介紹的是元件庫設計中的回報元件的設計,而不是元件本身的回報設計。

回報元件的作用是将系統中目前的資料、操作、或重要提示回報給使用者,不讓使用者因對系統狀态的未知而産生焦慮、或因為操作規則不明而無所适從。顯示簡短的重要消息、展現提供契合上下文的回報與需要關注的資訊。是這類元件主要傳遞的目的。

回報根據類型可分為:Alert (警告),Message(消息),Notice(通知)Feedback(回報),Result(結果),Tips(提示),Progress(進度)Toast(輕量回報) 等。回報的方式可分為彈層顯示、固定顯示、模态顯示等。

BlazorUI 元件庫——回報與彈層 (1)

消息

回報包括讓使用者知道自己在做什麼,需要有什麼注意的、已經做了什麼,進行到了哪一步、以及目前的結果如何等,回報為使用者提供适當且及時的消息,以幫助他們了解他們是否正在朝着自己的目标、正在正确地邁進或完成任務。

BlazorUI 元件庫——回報與彈層 (1)

警告

回報以提示、告知、警告為主。可分為标的物的資訊提示、行為前的提示與告知、目前行為的進度回報、行為結果的回報等。

沒有好的回報與提示,可能造成使用者誤操作,甚至導緻任務中斷難以進行。

及時的回報、完備的提示,能減少使用者的誤操作、引導使用者的下一步行為、并能增強使用者的掌控感。為使用者提升整個操作流程的完整性和流暢度。同時也能豐富前端互動的元素,為提高使用者體驗加分!

BlazorUI 元件庫——回報與彈層 (1)

彈層

彈層是元件的另一種展示形态。與嵌入在界面顯示的元件如Button,Input等不同,彈層以新的層展開界面。提供專項、專一的界面來組織使用者新的操作或展示新的内容。

彈層分為模式彈層和彈出框兩種。

模式彈層包括:Dialog (對話框),Drawer (抽屜), Loading (裝載遮罩)等。模式彈層以分割使用者操作行為為主。使用者在完成目前操作或閱讀了目前内容後,才能傳回主界面。

BlazorUI 元件庫——回報與彈層 (1)

彈出框包括:Window(視窗)、Menu (菜單)、DropdownMenu(下拉菜單), ComboBox (下拉選擇框)、Popoper(小氣泡)、Popup(彈層) 等。彈出框以專項任務為主。以組織同類的資料或功能為主。為使用者提供操作的指導、或展示專項内容。

BlazorUI 元件庫——回報與彈層 (1)
BlazorUI 元件庫——回報與彈層 (1)

彈出框與模式彈層不同在于,彈出框不會打斷使用者的目前操作。使用者可以在彈出框和普通元件之間切換操作。而模式彈層則需要使用者在完成目前操作後,才能傳回原界面。

設計要點

回報元件與彈層元件與普通元件一樣,具備元件的基本要素:包括内容、個觀、顔色、字型、操作回報等。與普通不同的是,回報元件與彈層元件是以層的方式顯示在界面中。其優先度上高于普通元件,多以吸引注意力,強化操作為主要目的。

在設計回報元件與彈層元件時,我們可以為每一種回報元件來單獨完成實作。這也是目前大部分元件庫的其本實作。但這種實作從元件設計理念來說,并不是一種最佳的實作方案。好的方案是設計一套合理的 Layer (層)的管理邏輯,以層的管理邏輯來統計實作各種回報與彈層元件。這種設計理念更具有擴充性、統一性和規範化。

#BlazorUI# 元件庫采用了後一種方式,即為回報與彈層設計了一套複雜的Layer (層)管理邏輯,在這套邏輯下,可以統一友善的完成回報元件與層元件的建構。

#BlazorUI#為所有的回報元件提供了一個标準的、統一的、規範的入口服務,叫 NotifyService。NotifyService 提供 Alert、Message、Result、Tips、Toast 的回報操作。可以分别完成 Info、Notice、 Warning、Danger等類型或級别的回報。

#BlazorUI#為彈層設計了一套統一的實作方式,包括 Dialog(對話框)、Popover(氣泡)、Menu(菜單)、Drawer(抽屜)、Loading(裝載)等。可以友善實作在全局、目前頁、指定元件區域為提供彈層元件的顯示與操作。

後繼關于回報與彈層的文章、将詳細介紹#BlazorUI#元件庫中回報與彈層元件的設計思路與實作方法,以及常用回報與彈層元件的介紹。

繼續閱讀