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

別告訴我你不知道

別告訴我你不知道能夠使用鍵盤的 Shift 和 Ctrl 來多選表格行,由於這個在 Windows 文件資源管理器中的經常使用操做,此時的畫風是這樣的:ui

這個動圖中進行了以下操做:orm

1. 選中【董婷婷】blog

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

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

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

 

在這個例子中,綜合使用了 Shift 和 Ctrl 和進行表格行的選擇,這樣能夠方便快捷的選取咱們所須要的行。下載

 

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

不過,在進行 Shift 多選時,咱們會把每次最後點擊的行做爲下一次多選的起始行,此時的效果是這樣的:im

這幅動態的操做是這樣的:d3

1. 選中【劉國】img

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的基礎版

 

不忘初心,砥礪前行!

相關文章
相關標籤/搜索