最近项目面临一个表格性能问题,挺有意思的,这里记录下优化方案

业务需求

  • 表格要无限滚动,不要有分页
  • 表格列多且显示丰富,比如存在可编辑单元格,tooltip,弹窗等
  • 表格行数较多,最大可达1000行,当前业务数据上看最多只有500行,但考虑长远最大需要支持到1000

目前效果

  • 100行时已出现明显卡顿,滚动不流畅
阅读全文 »

2020年相对之前的几年成长算大,但与高手相差甚远。

现在已经2021年了,回首过去的一年,依然需要总结反思下。

健康

身体是革命的本钱,2020年算是我系统健身的一年,上半年主要是户外跑步,下半年开始了健身房锻炼。

  • 对于健身房的器材以前都是陌生的,利用油管教学视频,同时观看周边小伙伴们的姿势,算是开启了专业健身之路。
  • 从数据上来说算是可喜的,体重控制住了,但强度不大,因此没有减重到70KG以下,但热爱锻炼这个习惯算是养成了,同时健身本身带来的外形改善也是可见的,至少整个人不那么胖,胸肌也更有型。

阅读全文 »

JS生成器函数认识不足,最近开发中碰了壁,于是梳理学习,Mark下。

yield vs yield*

yield

The yield keyword is used to pause and resume a generator function or legacy generator function.

yield 关键字用来暂停和恢复一个生成器函数((function*遗留的生成器函数)。

阅读全文 »

需求背景

WEB中有些请求很慢,有些请求因为功能上要求,需要增加遮罩从而避免用户在WEB还是执行请求的同时进行其它操作,因此需要加增加loading动画。为了方便控制,采用的办法是在axios的配置项中拓展一个个性化参数配置,比如叫loading,一旦某个请求配置为loading:true,则在请求发起及结束时,开关动画。

功能很好做,但如何保证类型安全呢,而axios的配置项AxiosRequestConfig接口定义并没有给出范型参数口子,从而无法增加自定义参数,那么如何优雅解决这个呢-声明合并

具体代码

在项目中创建定义文件,添加如下接口声明

阅读全文 »

WEB项目因为HTTP无状态,前端性能,SPA应用页面跳转数据共享等原因需要考虑前端存储方案,各个方案都有其特点,清楚才能合理选择及使用,这里总结下。

存储方案

  • cookie
  • sessionStorage
  • localStorage
  • indexedDB

Web SQL

在Chrome浏览器开发工具中还会看到Web SQL,但并不是HTML5规范的一部分,且Firefox不支持,因此不推荐使用

阅读全文 »
0%