【新特性速遞】優化Shift/Ctrl行多選邏輯,和Windows的文件資源管理器保持一致!


別告訴我你不知道

別告訴我你不知道可以使用鍵盤的 Shift 和 Ctrl 來多選表格行,因為這個在 Windows 文件資源管理器中的常用操作,此時的畫風是這樣的:

這個動圖中進行了如下操作:

1. 選中【董婷婷】

2. 按下 Shift 鍵,點擊【唐超】,此時會選中【董婷婷】和【唐超】之間的全部行

3. 按下 Ctrl 鍵,點擊【康穎穎】,此時會取消選中【康穎穎】

4. 按下 Ctrl 鍵,點擊【董國】,此時會選中【董國】

 

在這個例子中,綜合使用了 Shift 和 Ctrl 和進行表格行的選擇,這樣可以方便快捷的選取我們所需要的行。

 

向Windows文件資源管理器看齊!

不過,在進行 Shift 多選時,我們會把每次最后點擊的行作為下一次多選的起始行,此時的效果是這樣的:

這幅動態的操作是這樣的:

1. 選中【劉國】

2. 按下 Shift 鍵,點擊【黃婷婷】,此時會選中【劉國】和【黃婷婷】之間的全部行

3. 按下 Shift 鍵,點擊【徐鵬】,此時會選中【黃婷婷】和【徐鵬】之間的全部行

 

而這個邏輯和 Windows 文件資源管理器的實現不一致,來看下 Windows 下的選中邏輯:

這里的操作是這樣的:

1. 選中【Block】

2. 按下 Shift 鍵,點擊【DataModel】,此時會選中【Block】和【DataModel】之間的全部行

3. 按下 Shift 鍵,點擊【Form】,此時會選中【Block】和【Form】之間的全部行

 

經過一番思考,我們還是決定和 Windows 文件資源管理器保持一致,畢竟這是大家所熟知和最常用的功能。

 

新版本(v5.6.0)的改進

在新版本中,我們設定了如下三個規則:

-規則一:最后選中的行作為下次Shift鍵多選的起始行。
-規則二:使用Shift鍵多選時,如果起始行處於選中狀態,在不改變起始行。
-規則三:使用Ctrl鍵點選行時,不管行是被選中還是取消選中,本行都作為下次多選的起始行。

看似有點繞口,不過都是為了向  Windows 文件資源管理器看齊,現在再來看看 Shift 多選的操作:

這幅動態的操作是這樣的:

1. 選中【劉國】

2. 按下 Shift 鍵,點擊【黃婷婷】,此時會選中【劉國】和【黃婷婷】之間的全部行

3. 按下 Shift 鍵,點擊【徐鵬】,此時會選中【劉國】和【徐鵬】之間的全部行

是不是更合情合理一點。

 

至於上面的規則的第三點【使用Ctrl鍵點選行時,不管行是被選中還是取消選中,本行都作為下次多選的起始行】,這個的確有點奇怪,不過看了Windows下的動圖你就明白了:

這里的操作是這樣的:

1. 選中【Block】

2. 按下 Shift 鍵,點擊【DataModel】,此時會選中【Block】和【DataModel】之間的全部行

3. 按下 Ctrl 鍵,點擊【Config】,此時會取消選中【Config】

4. 按下 Shift 鍵,點擊【Form】,此時會選中【Config】和【Form】之間的全部行

注意最后一個操作,在第3個步驟時,【Config】目錄是取消選中的,而第4步操作,則會把【Config】作為起始行。

 

好吧,我們也照葫蘆畫瓢,來看看 FineUIPro v5.6.0 中的實現:

詳細的操作步驟如下:

1. 選中【劉國】

2. 按下 Shift 鍵,點擊【黃婷婷】,此時會選中【劉國】和【黃婷婷】之間的全部行

3. 按下 Ctrl 鍵,點擊【康穎穎】,此時會取消選中【康穎穎】

4. 按下 Shift 鍵,點擊【楊婷婷】,此時會選中【康穎穎】和【楊婷婷】之間的全部行

 

希望你能喜歡本次的更新。

 

加入知識星球下載FineUIPro/Mvc/Core的基礎版

 

不忘初心,砥礪前行!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM