【新特性速递】优化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的基础版

 

不忘初心,砥砺前行!

相关文章
相关标签/搜索