JavaScript
文章平均质量分 67
shuaikang_
今天就是你余生中最年轻的一天
展开
-
redux 的学习记录
这里使用最多的是redux-thunk中间件,它使我们可以给dispatch传入一个异步函数,帮我们执行回调后修改state的内容。Dispatch(分发): 一个函数,用于将 action 发送到 reducer,从而触发状态的变化。Reducer(处理器): 一个纯函数,接收当前状态和一个 action,并返回一个新的状态。在步骤3中的dispatch(action),action可能被多个地方使用,而类型是相同的,只有num不会变。整个应用的状态被保存在单一的 store 中。原创 2024-03-06 15:45:44 · 986 阅读 · 2 评论 -
记一次element Tree V2的默认展开大量节点功能的优化
我开始直接使用了setCheckedKeys方法,一下子传入了3000个key,界面通常会卡一秒钟。于是我想到了requestAnimationFrame来将操作分片的方法。当展示超大量数据时,我们可以使用elementui 提供的虚拟化树形控件。但是我遇到一个问题,当我想去默认展开大量节点的时候,界面还是会卡死一段时间。的回调中依次将节点做一个勾选(这样可以在渲染间歇中执行我们的js代码,页面不会有明显的卡顿),直到所有的都勾选完成。也就是我可以先将要加在的数据进行分组,然后在。原创 2023-11-22 15:05:49 · 577 阅读 · 1 评论 -
vue-router 实现动态路由和按钮
之前记录过一个动态路由实现过程,但是最近感觉那个还是臃肿,所以做了精简。以下是船新版本。原创 2023-10-24 15:04:40 · 288 阅读 · 3 评论 -
js 事件循环 【eventloop】-同步异步执行顺序
当同步代码执行完毕,主线程空闲下来,回去eventQueue中把正在排队的异步任务 按照顺序取出来执行。原创 2022-11-27 18:30:41 · 368 阅读 · 0 评论 -
vue框架-权限路由的设置
许多管理平台都会对用户进行权限的管理,最近做了一个根据用户权限显示导航栏的功能。记录一下下0. 准备功能开发的前提是前后端对于每一个页面路由有一个对应的且唯一的key(前端将这个key存在路由对象的meta.index中),前端获取到有权限路由的key之后通过addRoute将这些路由加入路由配置中。1. 路由列表在前端路由配置文件中,先不要将要判断权限的路由加入配置。在这里我们只需要将登录和根的路由加进配置,将需要判断的路由先写在一个候选数组中。// 一开始加入路由配置的路由const rou原创 2022-05-19 11:07:28 · 1508 阅读 · 0 评论 -
根据叶子节点的属性搜索所有的父节点(js)
const getFaKey = (arr: any[], targetStr: string) => { let finArr: { name: string; fa: string; last?: boolean }[] = []; function renderData (arr: any[], fa = '') { for (let i = 0; i < arr.length; i++) { if (arr[i].childr原创 2021-05-28 11:10:13 · 974 阅读 · 0 评论