Skip to content

TODO

NVM

注意: nvm 默认使用 default 版本的 node, 这里的 default 只是一个别名. 当 node 发布新版本后, 当前安装的 node 版本不再是最新的, default 别名指向的最新版未安装, 导致全局环境下无法使用 node, 必须手动设置nvm use <version> 设置 node 版本后, 才可在当前文件夹下使用.此时应该手动设置 nvm 别名nvm alias default <version>, 使得 default 别名指向本地已安装的 node 版本, 这样下一次打开终端, nvm 会默认加载 default 版本, 即可在全局环境使用默认版本了.

离屏 Canvas(OffscreenCanvas)

表格全选逻辑梳理

当表格有"全选所有"相关逻辑时, 会导致两个问题:

  1. 因为数据分页, 导致并不能准确获取所有被选中项的key. 当全选所有时, 可能只获取了当前页的数据.
  2. 因为列表数据的滞后性, 引发全选时增量数据的问题. 如全选所有进行操作, 但在选中后新增了数据, 新增数据是否也要进行操作, 删除数据同理.

解决方案:

  1. 接口增加一个全选标识. 全选状态下只传递标识, 全选+排除状态下, 还需额外传递排除的key
  2. 提前约定好增量数据或删除数据的处理逻辑.

前端要增加三个状态:

  • 全选状态, 是否全选
  • include key, 包含的key
  • exclude key, 排除的key

可再抽象成两个状态:

  • select type: 选择类型, 包含ALL, NONE. ALL下又可分为: 全选且不排除, 全选但排除指定项等. NONE下再分为: 全不选且不包含, 全不选但额外包含几项, 全不选但额外包含当前页(也就是选择当前页)等
  • key: 选择项, 可以是选中或排除的项

蛤? 👓