- 博客(29)
- 收藏
- 关注
原创 react--umi, 根据权限展示菜单,完成页面权限分配,以及路由鉴权
umi-prolayout-access-initialState完成根据不同权限,菜单渲染
2022-11-24 17:30:18
4308
8
原创 react/umi,浏览器tab设置
通常公司定制的 pro-layout,不会主动帮你同步 document.title,或者 title 的来源不是路由 name,而是单独一份配置、或你必须在页面级做 set。2. 升级4后换掉了引用的 pro-layout ,(无论是 ali定制、x-ops还是其他基于 ProLayout 的库)可能删掉了这个内置逻辑。3. umi4 的 router 和 layout 声明式路由变化很大,原来的路由 name/title 不能自动同步到 tab。解决: 路由配置只有name没有title,不变。
2025-09-19 16:30:35
220
原创 select最后一项展示不全
排查发现,加上 virtual={false} 后问题消失。说明根因是“虚拟滚动的行高与实际样式不一致”。你的全局样式把控件高度压到了 26/28px,而 rc-select 的虚拟滚动默认按 32px 估算,每项高度不一致就会出现列表底部“露半行/被切”的现象。3. 修改全局样式,全局样式把控件高度压到了 26/28px。1. 关闭虚拟滚动 virtual={false})2. 动态在最后一项后加一个占位项。
2025-09-19 16:25:09
262
原创 SortableItem拖拽组件里的Popconfirm失效
库与 Popconfirm 组件之间的事件冲突。在 SortableElement 中,拖拽功能会拦截掉一些鼠标事件,导致 Popconfirm 无法正常触发。umi3升级umi4后,出现这个问题,Popconfirm不生效,在SortableItem/拖拽组件里。添加移动手柄,修改了移动区域,不再覆盖Popconfirm区域,Popconfirm正常使用。Popconfirm 不起作用的原因是由于。
2025-09-19 16:13:50
130
原创 前端接口参数序列化
2. JSON.stringify([cur_case_id]) , [cur_case_id] 数组。问题:前端传参数时,本来是数组格式,打印出来也是数组格式,但是接口查看就是拆开的数组。1. 将pagination里的数组参数,统一放到一个item参数对象里。
2025-09-19 16:07:15
375
原创 页面水印记录
每次调用会生成新的 DOM 实例, 支持传入新配置, 动态创建新实例 */执行 waterMark(特定配置参数) 方法。页面引入 waterMark.js 文件。*** 使用方式 ***
2025-09-19 16:05:26
240
原创 日期选择器-开始时间结束时间禁用
开始时间,结束时间联动,开始时间不得早于当前时间,结束时间不得早于开始时间或者当前时间。场景:两个,一个开始时间,一个结束时间,设置禁用,修改时只可选当前日期后的。
2025-09-19 15:59:53
147
原创 setTimeout定时器不生效- useRef 的特点/作用
问题:一个事件,触发后三秒执行,中间如果再次触发,重新计时,但是这个写法不生效,再次点击时,没有重新计时,怎么修改修改后:使用 useRef 来存储 timeout:这样可以避免每次渲染时都重新创建 timeout 变量使用普通变量 timeout 时没有生效,但在使用 useRef 存储 timeout 时成功了。原因:在这个例子中,每次viewAlert被调用时,timeout都会被重新声明。假设你在第一次点击后设置了timeout,然后在 1 秒后再次点击,第二次点击时timeout。
2025-09-19 15:54:38
249
原创 proxy代理应用记录
umi的proxy代理,值得注意的是 proxy 暂时只能解开发时(dev)的跨域访问问题,可以在部署时使用同源部署。是通过开发服务器(通常是 Webpack Dev Server 或类似的工具)来工作的,它可以在本地开发过程中拦截请求,并将它们转发到指定的后端服务地址,从而避免浏览器的同源策略限制。:另外一种方式是在后端服务本身设置合适的 CORS 策略,允许来自特定或所有来源的请求。此时,如果你的应用仍然需要与不同源的服务进行通信,你可能会遇到跨域问题。是的,你的理解是正确的。)中解决跨域访问的问题。
2025-09-19 15:52:06
410
原创 富文本空格保存/反显,失效
保存时进行转换,将空格转换成' ',并且注意只转换标签内部的文案部分,个别标签内会有空格,需要注意。3. 富文本输入空格后,下次反显富文本,压缩为一个空格,多个空格失效。6. 将json格式数据,展开--sojson,json数据序列化。2. 判断保存是否为空,为空时带有标签,需要判断进行转换。1.富文本编辑器,自定义设置工具栏,添加颜色选项。5. 富文本编辑器里反显--设置样式。4. 弹窗反显,富文本格式反显。
2025-01-14 16:25:41
337
原创 父组件调用子组件方法forwardRef / useImperativeHandle。redux的connect仓库,和forwardRef ,冲突报错
父组件调用子组件里的方法,需要用 forwardRef 包裹 子组件,但是子组件也有connect包裹,先用forwardRef包裹组件,再传给coonnect会报错,forwardRef返回的是一个元素对象,包含了元素的类型。3️⃣正确的操作方式要调整高阶组件的顺序,先用connect包裹,然后再用React.forwardRef包裹。,以及渲染组件函数render方法,而connect需要的是组件,故透传出现问题。场景:父组件提交时,触发子组件的form校验。必须在函数组件中使用,并且需要与。
2025-01-14 15:47:48
339
原创 嵌套表格,数据刷新,表格展开项动态控制
嵌套表格,数据为children格式,操作栏操作后,数据需要再次刷新获取,表格展开项全部收回,但是展开符号不对。解决方法:动态控制展开项。
2025-01-14 15:39:39
221
原创 Ant-table翻页后勾选失效
/ some方法, 只有一项为true,就为真,判断changeRows的risk_id_ 存在于selectedRowKeys。// false时,说明是取消勾选,需要在rowkey数组中,删除和changeRows中每一项的。onSelectAll: seslectAll, // 用户手动选择/取消选择所有行的回调。2️⃣注意,rowkey的值,与select对应的值,是相同的。selectedRowKeys, // --选择项对应的变量。// 中,就是true,取反,不存在的为真,输出。
2024-09-14 14:29:31
309
原创 canvas和fabric实现画图功能
/ fabric.Canvas对象负责管理画布上绘制的所有对象,可以将对象添加到fabric.Canvas对象,也可以从fabric.Canvas获取或删除对象。///所有对canvas的修改,包括在其中添加删除对象,以及对象参数的修改,都需要调用渲染方法才能显示出来。///获取画布上的所有对象(rect将是第一个也是唯一一个)///获取之前添加的fabric.Rect(第一个对象)///删除之前添加的对象删除。// getObjects() 获取 canvas 画布的所有对象。
2023-12-13 10:06:09
927
原创 vw, vh, em, rem 区别
em 是 父级字体大小的倍数,浏览器默认的 1em = 16px。屏幕可视区域的百分之多少,30vw,屏幕可视区域宽度的30%rem 是根元素的倍数,浏览器默认的 1em = 16px。想要修改,需修改根元素 ,root。
2023-11-02 15:20:07
226
1
原创 base64格式图片展示
原文链接:https://blog.youkuaiyun.com/happyzhlb/article/details/129245407。base64,图片的base64" />base64, base64编码的Javascript代码。base64, base64编码的icon图片数据。base64, base64编码的jpeg图片数据。base64, base64编码的gif图片数据。base64, base64编码的png图片数据。data:text/javascript, Javascript代码。
2023-08-23 10:23:59
6211
原创 前端账号密码-RSA非对称加密
第一次是后端传递公钥给前端,第二次是前端传递加密消息给后端,即使都被截获,也没有危险性,因为只有后端的私钥才能对消息进行解密,防止了消息内容的泄露。与之前使用的crypto加解密相比,密钥和偏移量都在前端存储,这种不对称公私钥的方式更安全。(2)登录前先调接口,拿到后端给的公钥,前端用公钥对消息进行加密后传给后端。(1)后端JAVA生成一对密钥(公钥和私钥),私钥不公开,后端保留。(3)后端接收到前端加密的消息,利用他自己的私钥对消息进行解密。在这个过程中,只有2次传递过程,
2023-08-21 16:25:59
278
1
原创 git问题-
输入git commit 提交代码时,pre-commit(客户端)钩子,会在git键入提交信息前运行坐代码风格检查,如果代码不符合相应规则,则报错。2.git commit 时报错--pre-commit hook faild (add --no-verify to bypass)②在 git commit -m '' 命令中添加 --no-verif参数来跳过。1.报错--fatal: remote origin already exists.(报错远程起源已经存在。
2023-05-25 11:39:56
279
原创 使用video.js完成hls/m3u8格式的视频播放
近期项目中,需要播放视频,最开始给了个测试接口是hls格式的,查了一下,使用了video.js插件来进行播放。后期又改成了flv视频,这里简单记录一下。1. 下载video.js插件,以及contrib-hls播放插件,页面引入,这两个插件,以及样式。4. 每次页面退出时,关闭播放器。
2023-04-12 16:50:40
5078
原创 cryptoJs完成登录密码加密
如果想安全性更高,可以登录前,通过用户名,先调一次接口,获取后端返回的密钥,再通过密钥加密密码,再调一次接口进行登录验证,也就是密钥不在前端写死,由后端返回。以下写法是直接前端写死密钥。注意:需要与后端设置一致的密钥和偏移量,以及mode和padding设置也需要同后端设置一致格式。项目中登录密码需加密传给后端,以防抓包获得密码,后端接收后进行解密与数据库进行对比。3. 登陆时利用加密方法传给后端加密秘密。1. 下载插件 crypto.js插件。2. 设置加密解密方法。
2023-04-12 10:07:42
760
原创 umi配合proLayout , 菜单与面包屑设置问题( 通过路由生成菜单)
umi配合使用ptoLayout, 通过路由生成菜单,通过proLayout 的一些API,实现菜单中不显示二级路由,而页面中,路由标题中显示二级的效果
2022-12-05 16:00:10
6943
4
原创 proTable--Request获取数据--actionRef 触发更新
proTable列表中,使用Request获取数据,actionRef 触发更新
2022-12-02 15:57:34
7097
原创 用udeEffect // 深拷贝 --解决 useState 异步改变数据,数据更新不及时
近期做tabs 切换时,发现由于useState 异步更新,导致tabs 显示的总是上一步的结果,简单记录一下解决方法。
2022-11-29 14:34:53
3559
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅