百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

分页复选设计的坑(复杂分页)

ccwgpt 2024-10-10 04:51 35 浏览 0 评论

定义

什么是分页复选设计呢?如下图所示,这是掘金专栏的一个功能,可以选择将同类的文件批量添加到专栏里,随着下拉,会一页一页的返回。

除了这种设计,还有一种是下面有页数,根据页数跳转的设计,如:

使用

复选功能有两个,选中和取消。

这种分页复选,我见过两种设计。

第一种,也就是掘金专题上面的用法,已经选好的不会再在分页中显示出来,所以分页复选只实现了增加的功能。已经选中的有单独的列表,在这个列表中可以选中删除。

成功的将增加和删除分割开来,用户使用起来很通畅。

第二种,选中和取消功能都在分页复选中。有一种场景是用户发起申请,运营推荐一些服务,后面用户再次发起申请,运营需要根据以前推荐的内容进行增减。

坑在哪里

分页复选的坑比较隐秘,大家可以先自己思考一下哪里有问题,如果能够想到,那说明同学还是很细心、敏捷的。

之所以这篇文章,也是因为做一个项目的时候遇到了这个坑,以前觉得自己经手过太多项目,很多坑都能避免,没想到现实还是会啪啪打脸,需要学到老活到老。

第一种设计将选中和取消分隔开,这种是没有什么坑的。而且产品还很贴心的增加了搜索功能,方便查找。

坑在第二种。

最开始我觉得挺容易的,记录已经推荐的内容,分页的时候,如果分页里有已经被推荐的,则选中状态为true,否则为false,前端根据接口返回的状态来显示选中与否。当用户提交的时候,前端将选中的内容提交,将提交的内容与原本记录的推荐内容做集合操作,找出哪些是新增的,哪些是需要删除的,哪些是不变的,然后更新这些记录。

很多同学可能觉得这个思路比较合理,可能是因为我们都静止的看问题,如果在思考这个设计的时候,能考虑到多页的情况,就能发现其中的坑了。

举个例子,假设能够推荐的内容共100个,每页10个,共10页,第一次推荐的时候推荐每页的第一个和最后一个。类似这个样子:

运营第二次推荐的时候会导致两个问题:

  1. 使用困难:如果要查看以前推荐了哪些,只能看完所有页面,这是很不好的。可以通过将已经推荐的放在首部,一定程度上缓解这个问题,但运营仍然需要查看多页。
  2. 产生歧义:第二次推荐的时候,运营只是想把首页的取消掉,将第一页的取消后直接提交,前端提交的内容是啥都不推荐,系统会将所有推荐内容去掉。

解决方案

解决方案我想到两种:

  1. 如果推荐内容少,可以只有一页,把已经推荐的内容置顶,这种操作对运营最友好
  2. 如果内容过多,只能采用多页方式,提交的时候需要传递增加了哪些、删除了哪些,这需要前端自己进行记录,服务端根据这些数据就能计算出新增哪些、删除哪些、哪些不变。
  3. 这种操作会导致前端工作量增大,因为复选框可以不断做勾选、不勾选操作,再加上分页,出问题概率会比较大。
  4. 即使把已推荐的置顶,这种方式仍然会产生一定歧义。举个例子,如果第一次推荐的总数量有三页,第二次推荐时,运营想全部不推荐,运营不熟悉系统,只将第一页完全去掉就提交了,运营认为自己完成了任务,但是系统还留有2页推荐,歧义发生。
  5. 如果推荐的数据并不存储在自己系统中,是从其它系统通过接口分页获取的,除非接口支持,否则无法实现置顶功能,运营使用时仍然需要遍历所有页面。

总结

个人不是特别建议使用分页复选功能,真要用的话,最好将分页复选功能单一化,只有增加功能,已有的推荐有单独列表展示。

最后

大家如果喜欢我的文章,可以关注我的公众号(程序员麻辣烫)

我的个人博客为:https://shidawuhen.github.io/

往期文章回顾:

招聘

  1. 字节跳动|内推大放送
  2. 字节跳动|今日头条广州服务端研发工程师内推
  3. 字节跳动|抖音电商急招上海前端开发工程
  4. 字节跳动|抖音电商上海资深服务端开发工程师-交易
  5. 字节跳动|抖音电商武汉服务端(高级)开发工程师
  6. 字节跳动|飞书大客户产品经理内推咯
  7. 字节跳动|抖音电商服务端技术岗位虚位以待
  8. 字节跳动招聘专题

设计模式

  1. Go设计模式(11)-代理模式
  2. Go设计模式(10)-原型模式
  3. Go设计模式(9)-建造者模式
  4. Go设计模式(8)-抽象工厂
  5. Go设计模式(7)-工厂模式
  6. Go设计模式(6)-单例模式
  7. Go设计模式(5)-类图符号表示法
  8. Go设计模式(4)-代码编写优化
  9. Go设计模式(4)-代码编写
  10. Go设计模式(3)-设计原则
  11. Go设计模式(2)-面向对象分析与设计
  12. Go设计模式(1)-语法

语言

  1. 一文搞懂pprof
  2. Go工具之generate
  3. Go单例实现方案
  4. Go通道实现原理
  5. Go定时器实现原理
  6. Beego框架使用
  7. Golang源码BUG追查
  8. Gin框架简洁版
  9. Gin源码剖析

架构

  1. 支付接入常规问题
  2. 限流实现2
  3. 秒杀系统
  4. 分布式系统与一致性协议
  5. 微服务之服务框架和注册中心
  6. 浅谈微服务
  7. 限流实现1
  8. CDN请求过程详解
  9. 常用缓存技巧
  10. 如何高效对接第三方支付
  11. 算法总结

存储

  1. MySQL开发规范
  2. Redis实现分布式锁
  3. 事务原子性、一致性、持久性的实现原理
  4. InnoDB锁与事务简析

网络

  1. HTTP2.0基础教程
  2. HTTPS配置实战
  3. HTTPS连接过程
  4. TCP性能优化

工具

  1. GoLand实用技巧
  2. 根据mysql表自动生成go struct
  3. Markdown编辑器推荐-typora

读书笔记

  1. 《毛选》推荐
  2. 原则
  3. 资治通鉴
  4. 敏捷革命
  5. 如何锻炼自己的记忆力
  6. 简单的逻辑学-读后感
  7. 热风-读后感
  8. 论语-读后感
  9. 孙子兵法-读后感

思考

  1. 为动员一切力量争取胜利而斗争
  2. 反对自由主义
  3. 实践论
  4. 评价自己的标准
  5. 服务端团队假期值班方案
  6. 项目流程管理
  7. 对项目管理的一些看法
  8. 对产品经理的一些思考
  9. 关于程序员职业发展的思考
  10. 关于代码review的思考

相关推荐

css布局方案汇总(28个实例图文并茂)

简介布局在我们前端日常开发来说是非常重要的,一个好的布局能简化代码的同时还能提高网页的性能。常见的布局方法有浮动(float)布局、绝对定位(position)布局、表格布局(table)、弹性(fl...

十款免费的CSS框架加速Web开发

Pure这是Yahoo最新推出的一款CSS框架,它只有HTML和CSS,没有使用任何JavaScript语言。总大小只有4.4kb,但功能却非常丰富,支持响应式样式和各种导航、表格、表单、按钮、网格和...

Tailwind CSS 是不是目前世上最好的CSS框架?

转载说明:原创不易,未经授权,谢绝任何形式的转载今天看了一篇国外大佬对TailwindCSS的看法,在这里分享给大家,看看大家是否赞同,以下是其相关内容的整理,由于翻译水平有限,欢迎大家讨论和指...

下一代 CSS 框架:Mojo CSS,为何如此受欢迎?

TailwindCSS推出即受到广大开发者的欢迎,当前Githubstar数已达77.8k。它是一个功能类优先(utility-first)的CSS框架,它提供了一系列功能类,让开发者...

常见的几种摄影构图方式

摄影构图,是一种在摄影画面中表现结构美、形式美的方式。构图能让摄影主体更加突出,画面更加有序。所以说,构图在摄影中是非常重要的一个环节。无论是前期构图还是后期构图,摄影者都要对构图有一个比较深的了解。...

风光摄影10大构图技巧,会用构图,照片更容易好看

风光摄影10大构图技巧,会用构图,照片更容易好看先解释一下,为什么会使用构图之后,照片更容易好看?因为,构图是根据很多好看的照片,总结出来的技巧,使用这些构图技巧,就相当于站在了巨人的肩膀上,也就是用...

掌握框式构图的摄影技巧,会让摄影爱好者的作品更有魅力!

很多摄影爱好者都知道摄影构图中有个框式构图,但大多数人对框式构图的摄影技巧,却一知半解。所以摄影爱好者们有必要更全面、深入的了解,并掌握框式构图,会对你摄影水平的提高更有帮助。【欢迎点击上方关注:金立...

这个构图很简洁,但为什么不耐看?

摄影爱好者最常犯的错就是过于复杂、主体不明确,但当遇到简单的场景往往又会出现单调、不耐看的状况。为什么会这样?说白了还是观察力不够。下面是本周的摄影入围习作,我们一起来看看这些照片中主体、陪体以及背景...

初学者需要记牢的八种常用构图法

作者:冯海军摄影中,构图很关键,决定照片是否成功,所以在构图上要加以重视和推敲,虽然说构图无定法,但是也有很多的规律可循,以下列举几种常用构图,会对初学者有很大的帮助。多彩刘卫洲摄苏州姑苏俱乐部(...

构图这件事不难!掌握14种构图模式就稳了

如果说视觉元素是视觉信息的载体,那么构图就是视觉元素的载体。没有适当形式的构图对视觉元素有机、有序地承载,平面设计将无法传达预定的设计意图和视觉信息。因此,对于平面设计而言,构图是平面设计不可或缺的重...

框架构图如何使用?

1分钟教你用手机拍大片。今天我们利用框架构图,在不同的运镜方法下拍摄。·首先将手机贴近地面,拍摄人物走过的画面。·然后利用3D效果的背景衬托,将手机贴近地面,以低角度仰拍人物。·最后我们用高清画质来呈...

面构图的5种超实用的构图形式 前景构图,框架构图,填充构图

面构图的5种超实用的构图形式。为什么有的人拍摄的照片好看又舒适?仔细观察会发现他们善用构图。大家好,今天带大家了解摄影中5种超实用的面构图形式。·一、前景构图。前景是构图中的神奇要素,可以提升照片的表...

一看就懂!跟着马格南的大师学构图

马格南图片社是迄今为止全球最重要的摄影图片社,其网站包涵了太多经典的名字和照片。细细品味这些经典图片,能够学到很多有用的构图手法。跟着大师走,总不会错吧?前后景的运用这似乎是非常常见的一种手法,仔细看...

这才是框架构图,有想法!能给你启发么?

框架构图大家并不陌生,但并不是有一个框就行了。框架构图用得不好,就很死板生硬,给人感觉很假。如果你理解透了,拍出的作品不会单调。今天就给大家分享一下框架构图,你看看有哪些妙用?1.广角与长焦的应用长焦...

7B小模型写好学术论文,新框架告别AI引用幻觉

ScholarCopilot团队投稿量子位|公众号QbitAI学术写作通常需要花费大量精力查询文献引用,而以ChatGPT、GPT-4等为代表的通用大语言模型(LLM)虽然能够生成流畅文本,但...

取消回复欢迎 发表评论: