之前在工作的时候遇到一个问题,在设计列表多选的时候,产品执意要将多选操作的按钮放在列表顶部,但是按照设计规范,该按钮应该是隐藏的,在勾选列表某一行后才会触发显示该按钮,随之产品提出的问题是:

“如果不显示该按钮,用户就不知道有这个功能”。

产品的顾虑确实有道理,光展示多选框,并不能隐喻其功能,只仅仅表示该列表勾选后有相应的操作,且在没有明显的引导之下,新用户也很难理解。

直接显示操作按钮,如果用户未勾选,则提示其需要勾选,那这纯属“脱裤子放屁,多此一举”,不但在操作流程上不顺畅,而且操作步骤也增加了,那么,有没有一种交互方式,既能显示按钮明确其功能,又能使流程顺畅?

 01 

设计规范

在引出我的观点之前,我们先看看主流的设计规范都是怎么做的:

Ant Design:

https://ant.design/docs/spec/research-list-cn#%E6%89%B9%E9%87%8F%E6%93%8D%E4%BD%9C

Ant Design推荐在选中列表后,底部显示悬浮的操作栏,底部的操作栏可以承载更多的功能按钮,同时降低了页面整体的复杂度,可以将有些需要多选才出现的操作进行收纳,比如批量导出、批量删除等,但是问题点在于,如果不显示这些按钮,用户就不知道有这个功能,他们会进行尝试,也会进行询问,这无疑也增加了产品的复杂度。

当然,对于中级用户和专家用户来说,这些都不是问题。软件终归是有一定的学习成本的,在熟悉了这些流程以后,因此Ant Design的做法我是比较推荐的。

Element:

https://element.eleme.cn/#/zh-CN/component/table

Element我没有找到可视化demo示例地址,浏览其对组件的说明,也没有明确的引导应该使用哪种方法,大概率其使用的是按钮常显,点击该按钮,如果未选中行,则提示请先选择,跟SAP的设计规范相同。

Fiori Design Guidelines:

https://experience.sap.com/fiori-design-web/grid-table/

SAP是全球最大的企业管理和协同化商务解决方案供应商,Fiori Design Guidelines指导了其庞大的ERP系统和业务管理系统的设计,我在其线上demo的操作中,可以看出SAP Fiori是采用按钮常显,点击该按钮,如果未选中行,则提示请先选择,这种交互同样也会引申出其他的问题,打断了用户的流程:

点击按钮-出错提示-选择多选-点击按钮-进行任务-完成操作

在有更好的解决方案之前,这的确是大多数系统常用的交互方式,虽然谈不上体验极佳,但够用,也培养了用户的使用习惯,一旦用户习惯了在进行多选之后去操作,那该流程也将极为顺畅。

再一次抛出问题:有没有一种交互方式,既能显示按钮明确其功能,又能使流程顺畅?

 02 

问题

结合上面的分析,问题就变成了:

究竟是多选框隐喻功能好点,还是操作按钮隐喻功能好点?

多选本质上是一个很好的隐喻入口,它意味着该页面会有批量操作的功能,当你选择多选后,该功能将会展现出来(如Ant Design)但它的缺点在于隐喻不够明显,还是无法直观了当而又自然地隐喻功能。

按钮是是带着文字信息的可点击区域,一般意义上,按钮的文案也代表着其功能的隐喻,因此,按钮直接出现会大大增强用户的理解和提高操作效率。

 03 

抛砖引玉

我之前在具体的设计过程中,曾经做过这样一个方案:

交互方案:

1.初始页面多选框隐藏,批量功能按钮放在页面;

2.点击批量导出,多选框出现,批量导出按钮变为主按钮,文案变为导出,在未选择多选之前,导出禁用;

3.选择多选,点击导出,导出所选信息。

该交互方式可能在实现方式上成本较高,但是保持了交互的连贯性,给用户明确的引导,即便是新手,也能对功能操作一目了然。

 04 

思考延伸

一、如何跨页多选?

1.Fiori Design Guidelines通过修改limit的方式增大页面显示数量,当前页面展示信息越多,意味着可选数量也多,但无法本质上解决问题。

2.通过记录当前页面的选择信息,分页选择,然后汇总选择信息,本人认为这是当前最佳的解决方案,实现成本较大,交互较为复杂。

二、跳出当前思维

在进行批量选择设计的时候,我们并不一定是要对整个列表信息进行一个明确的选择,相反的,对一些数据敏感度不高的,我们可以通过设计大范围的查询筛选,再进行批量功能设计。这种思路落地有三种不同的交互方式:

1.通过列表筛选和查询,将查询后的结果直接导出。

2.将筛选集成在对话框内,通过对数据进行筛选再进行导出。

3.通过对关键字段设置通用模板进行导出,该交互方式适合复杂的业务中,对数据有较准确要求的场景。

综上,就是我对关于“列表多选”操作流的小思考,抛砖引玉,如果大家有更好的方案,可以与我交流,一起进步。

参考:

Ant Design

Fiori Design Guidelines


加老D私人微信,朋友圈更多精彩

你有在看么

element table多选只能选中当前页数据_关于“列表多选”操作流的小思考相关推荐

  1. element table多选只能选中当前页数据_element-ui里的el-table 前端分页

    本人是前端小白一枚 此文章用以记录自己使用vue+element-ui实现项目时候实现的分页功能(和后续文章实现的功能不分先后,用到什么记录什么) 一次请求将全部要展示的数据获取到,分页在前端对数据进 ...

  2. 编程案例——layui的table表格并获取选中的数据、layui监控select下拉框并将隐藏的div显示

    layui table表格展示 效果 代码 前端代码 后端代码:我们需要注意后端给前端返回数据的格式 获取radio标签所对应的数据条目 问题描述 解决办法 layui监控select下拉框并将隐藏的 ...

  3. html表格选择一行,vue + element table表格如何默认选中第一行

    有一个dialog的对话框,我想要在进入对话框的时候默认选中table的第一个 页面dialog部分: :model="zzc" :inline="true" ...

  4. mysql选中一行数据_获取table选中一行数据库

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  5. qtablewidget 复选框选中_QTableWidget中checkBox如何判断复选框是否被选中

    在QTableWidget中会经常用的checkBox,但是如何判断复选框是否被选中呢,方法是利用QTableWidget::cellChanged()函数,检查单元格内容的变化,然后连接此信号,在槽 ...

  6. ant 改变表格数据_学不会这几个操作,面试时千万别说自己精通数据分析

    今年的招聘季好像一直都不太景气,在现有的招聘岗位当中来看,只有一人身兼超多技能,才有可能在茫茫人海中脱颖而出,其中比较有含金量的技能比如说熟练运用Excel.精通数据分析工具,殊不知可不是掌握最基本的 ...

  7. mybatisplus 操作另一个数据库的数据_实例分析:python操作数据库项目

    本文根据一个项目实例,记录分享一下python将数据库的内容提取显示到程序界面的过程及相关设置,探索python操作数据库的用法.主要分享内容:1.显示数据库内容.2.修改数据库内容.3.表格控件指定 ...

  8. c 获取mysql列数据_转 用C API 操作MySQL数据库

    用C API 操作MySQL数据库 参考MYSQL的帮助文档整理 这里归纳了C API可使用的函数,并在下一节详细介绍了它们.请参见25.2.3节,"C API函数描述". 函数 ...

  9. python列表修改数据_使用列表理解修改数据框架列

    我有一个包含大约90k个字符串的列表和一个包含多个列的数据框,我想检查列表中的一个字符串是否在列1中,以及是否在列2分配了相同的值. 我可以做到:for i in range(len(my_list) ...

最新文章

  1. 手机息屏后停止_手机息屏还能这样玩?华为这几个隐藏小功能快学起来
  2. Rstudio连接spark失败
  3. 十、JavaScript中的正则表达式(六)
  4. CentOS 6.8 上 MySQL-server 数据库安装失败
  5. SAP Fiori Elements 框架里 Smart Table 控件的工作原理介绍
  6. SAP ABAP和C4C,Hybris Commerce里一些性能分析工具
  7. python怎么调用navicat_图中的这个功能应该怎么用Python实现啊?
  8. oracle 结构化语言查询 DML DDL DCL
  9. php mysqli 字段缺失,mysqli 为什么不提示字段异常
  10. DICOM worklist入门一
  11. 机顶盒天线接头怎么接_数字电视接收天线怎么安装
  12. csgo服务器与客户端文件不匹配,csgo客户端文件与服务器不匹配怎么办
  13. 日志易使用系列四:日志采集 Agent 的配置
  14. 多个服务器数据互通_打造生态循环《剑网3:指尖江湖》第二批服务器数据互通...
  15. 南宁琅东的机器人餐厅_南宁埌东藏着一个秘密花园,每天一大波年轻男女进进出出…...
  16. 服务器阵列卡维修费用,IBM服务器阵列卡损坏N种情况的解决的方法.doc
  17. 考研/嵌入式/我的所思所想及其他
  18. Windows下运行XServer,XServer和XClient
  19. 移动OA办公——Smobiler第一个开源应用解决方案,快来get吧
  20. 轨道交通车载设备军工电磁兼容试验-可靠性测试机构

热门文章

  1. PAT乙级(1031 查验身份证)
  2. java正则表达 w,超强变态的正则(\w)((?=\1\1\1)(\1))+讲解
  3. 记录一则expdp任务异常处理案例
  4. MySQL 传统复制中常见故障处理和结构优化案例分析
  5. 我是一个请求,我该何去何从
  6. 云小课 | 华为云KYON之L2CG
  7. 一文总结GaussDB通信原理知识
  8. 一文搞懂浏览器同源策略
  9. KubeCon直击 | 华为云以技术布道“云边端芯”
  10. 【Python3网络爬虫开发实战】 1.5.4-RedisDump的安装