自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(180)
  • 收藏
  • 关注

原创 使用蜂鸟地图完成楼层自定义、房间着色、热力图、添加图片覆盖物、添加dom覆盖物、定位到固定区域的中心点

4.点击图片覆盖物的时候,需要出现一个dom窗口展示信息,此窗口为dom覆盖物实现,这里我试过直接给dom覆盖物写onclick方法,不太好使,然后map的所有事件覆盖物都可以用,所以我使用了。的地方,虽然有跟她们对接,但看文档有时候也挺费劲的,得自己慢慢研究,所以把我发现的需要注意的一些点发上来,希望可以帮助到部分有需要的同学~,虽然覆盖物是全部放到数组里面的,但是也是需要放到不同的覆盖物里面的,这样才可以清除成功,或者重要渲染成功~2.当添加多个图片覆盖物的时候,需要有。,然后再进行着色,不然找不到~

2024-03-18 17:38:32 907

原创 iframe重新加载最简单的方法!初次渲染和更新后渲染不会引起其他页面变动

我们项目有一个【加载场景】【切换场景】的需求,iframe是子组件,数据传过去之后没有重新加载 ,我测试发现 重新渲染的时候,iframe的load方法没有重新加载,数据变动后也不会影响,然后我用了网上好几种方法,发现都有bug。我们知道改变iframe的src方法会使其重新加载,我本来还在想,如何改变这个变量,然后先试了一下,直接取出ifrmae的src属性再赋值给src,结果成功了哈哈哈哈。比如,在useeffect里接收子组件参数去请求服务端后使用reload方法,会引起页面死循环。

2024-03-18 11:20:46 339

原创 解决npmr run start运行项目时的报错Error: error:0308010C:digital envelope routines::unsupported

一开始umi-plugin-react一直安装不上,各种卸载package-lock.json删除啊,重装都不行,最后把node版本从16.18升级到18.10才安装好了。网上说是 nodeJs V17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,所以会报错。最后把这句代码加到package.json里的运行命令里就好用了。试了网上的几种方法都不行。艾玛浪费我半天时间……

2024-01-04 15:09:00 684 1

原创 antd 表单项联动验证时,disabled属性不生效

在antd表单中,表单项验证条件是根据其他表单项的值决定的,比如当前【时间限制】选择【无】时,【限制时段】表单项不可用所以我单纯使用是不生效的,因为,而直接使用 【获取表单字段属性】有可能是上一次的状态 ,导致渲染失败。

2023-11-07 16:14:22 845

原创 antd select 有value时使用allowclear清空失效

在onchange事件里,将select的value手动置空即可~

2023-11-07 15:45:42 448

原创 antd Cascader级联菜单无法赋值回显问题

Cascader级联数据是服务端返回然后自己处理过的,使用了cascader的fileNames属性重置字段名,最后发现服务端回传的数据无法赋值回显在组件上,自己试了半天,还以为是数据问题或者是字段问题,最后发现是赋值的数据格式和级联数据的数据格式不一致的问题,导致无法赋值成功……然后查看详情时服务端又将此字符值回传线我,我再使用split方法解析成数组,自动就会解析将值解析成字符串格式。真的太无语了,总犯这种低级错误 ,但是我怕有同学和我一样,所以还是放上来吧,万一有人看到呢……

2023-11-03 18:49:23 464

原创 antd树型表格的逐级展开折叠(每次展开都只展开到当前未展开的最小层级,每次折叠都只折叠到当前未折叠的最大层级)

如遇到每级展开层级不一致的,如【2级2】展开到第3级,那此时点击展开,所有已展开的不动,将未展开到第3级的其他元素全部展开到第3级。此时需要注意,我们应把没有子元素的【1级】,及末级均去掉,不参与折叠展开事件。折叠同理:如下,【2级2-1】收起,但当前未折叠的最大层级为【5级】需求有些变态,我们用一段话和一张图来演示下。再点击收起:【4级】收起。效果如下:所有3级展开。效果如下:【5级】收起。

2023-10-09 10:23:21 633

原创 antd upload组件beforeUpload返回promise之后,获取的文件不是file类型导致上传失败

再看到最后,一开始没理解 这个originFileObj是啥,打印了一下info.file.originFileObj,发现这就是我们想要的那个file文件。我们发现 ,现在可以阻止上传了,但是传给服务端的文件不是二进制的,而变成了一个object,所以报错了。再后来又仔细阅读了文档 ,发现了这段,于是尝试在resolve时把对象返回去,依然报错。但是这样并不能阻止文件上传,看了官方文档后,改用返回promise对象上传。真无语,一个版本问题,解决了一上午,尝试各种办法,结果人家文档里写了。

2023-08-30 14:10:32 870 1

原创 umi打包错误:You may need an appropriate loader to handle this file type, currently no loaders are co

然后我们发现这招确实好使,不报这个错了,但是开始报react-dom的错误。然后我们再安装下react-dom,安装不上可以加–force。但是搜索关键字没有找到相关代码 ,经查阅发现以下解决办法。然后发现 程序终于可以运行了……

2023-08-29 16:41:29 3433

原创 js查找结构不同的两个数组中相同的元素并删除元素

准确的是循环中删除数然后我们当前的需求是在两个 数组中找重复的元素删掉,虽然两个 数组结构不一样,但是逻辑是一样的,最外卖使用forEach循环或者for循环都可以,把要操作的数组放内循环即可。删除后需要注意元素的索引值 ,比如以下案例,删除2之后索引值继续 + 1,但原数组索引已经变化了,所以会出现遍历漏掉元素和索引值对不上的情况。即每次删除之后都使索引值 i - 1,但每次删除数组元素后都需要重新调整数组的索引,如果数组元素比较多的话,性能就会很差。先从数组长度-1索引出发,逐渐减小索引值,来访问数组。

2023-08-29 16:40:11 276

原创 css内容达到最底部但滚动条没有滚动到底部

看了好久一直以为是布局或者overflow的问题,最后发现是因为我给这个滚动条加了个高度,我也是傻狗一样的,滚动条高度是通过内容计算出来的,怎么能赋值呢,笑死了。也是犯了一个傻狗一样的错误 ,滚动条样式是直接复制的蓝湖的代码,有个高度,然后就出现了这样的bug。

2023-08-11 17:33:40 974 1

原创 mac电脑git clone项目时报错证书过期和权限被拒绝

mac电脑使用git clone命令克隆项目时,一开始一直提示执行以下代码关掉验证后,解决了这个问题之后就不提示这个错误了,但是克隆又一直提示权限被拒绝将id_rsa等文件删除后也不管用,经同事测试,账号密码在window上可以克隆成功,那就证明肯定是mac电脑环境的问题啦!既然我们已经删除了id_rsa文件,那按理应该说git的ssh权限就不存在了,但是有没有可能它被存储起来了呢?经查阅,发现还真就是这个缓存问题。

2023-06-05 15:48:12 2187

原创 js每隔一秒打印一个数,打印1 2 3 4 5

如题,一般按照我们的思路:1.写一个循环,循环5次,打印这个数2.每隔一秒打印一次,用到setTimeout于是,我们很容易写出最后我们发现,打印出了 5 5 5 5 5为什么呢,这个题其实考察的就是js中的事件循环了,这个之前我写过一篇文章,详见【】因为我们的事件循环执行顺序是【先同步,后异步,先微任务,再宏任务】,因为务,而var又不存在块级作用域,当进行for循环时,将 i 传递给setTimeout,因为,等到主线程任务for循环执行完毕再执行。

2023-05-04 10:28:07 1674 1

原创 gitlab CI/CD部署git fetch pack的报错解决

git fetch pack报错解决:将git fetch 改成git clone

2023-01-11 11:34:12 455

原创 Cannot find module lint-staged 解决办法

使用git lint-stag后,再commit时报错。

2022-11-16 09:49:49 2399

原创 useContext用法+切换主题小示例+对象型字面量传递的优化

useContext的使用,使用useContext做切换主题,对象型字面量传递的渲染优化

2022-10-17 11:47:03 801 1

原创 UseRef的正确使用与滥用避雷

useRef的使用场景与滥用举例

2022-10-13 17:31:59 2294

原创 hooks小案例

【代码】hooks小案例。

2022-10-11 14:42:55 167

原创 【算法】原地移除数组中指定元素

原地移除数组中指定元素,与传入元素重合的元素,使用双指针,与下标退位法

2022-10-10 15:26:36 292

原创 antv x6让拖拽控件工具箱悬浮在画布上,工具箱区域鼠标按下不生成节点

antv x6让拖拽控件悬浮在画布上,鼠标按下不再直接生成节点继承Dnd方法,如果鼠标还未拖出工具箱区域就不生成节点

2022-08-30 16:03:51 1366

原创 antd table表格支持多选框选择当前列,进行格式设置等

antd table 表格支持多选框选择当前列,对当前列进行格式设置,不是官方指的当前列,对当前列数据进行筛选,而是选择当前一整列,对这整列进行选择或者设置

2022-08-30 12:03:37 1384 1

原创 antv x6连线与取消连线的操作+自定义连接桩+节点选择/框选

antv x6连线样式,连线与取消连线的操作,自定义连接桩样式及位置,节点选择/框选的操作,获取所有边与节点

2022-08-30 11:49:18 7123

原创 css改写滚动条样式 + antd-table scroll:x 和scroll:y 属性不生效

antd table列宽设置不生效、antd table scroll:x 不出现 、antd table scroll: x 和scroll:y 同时设置不生效、antd scroll 样式改写

2022-08-15 15:38:14 2689

原创 使用pre commit钩子再git commit时报错“husky - pre-commit hook exited with code 1 (error)”

file:///C:/Users/yunlu/AppData/Local/npm-cache/_npx/8facc973fbdb1091/node_modules/lint-staged/lib/index.js:112 if (runAllError?.ctx?.errors) { ^SyntaxError: Unexpected token '.' at Loader.moduleStrategy (internal/modules/esm/t

2022-08-05 19:50:37 7389 3

原创 git commit使用husky工具格式化时报错“error: cannot spawn .husky/commit-msg: No such file or directory Couldn‘t”

使用git cz规定git commit信息后,感觉还是麻烦,还要选,想着直接git commit的时候也能规范信息,于是选择使用git hooks中的husky工具来实现,如果提交信息不符合规范会给出错误提示并且不能提交成功。使用husky工具对git commit信息格式化,配置好commit-msg文件后,使用git commit 报错。放到第一行,上边其他信息全部删掉,我这个是之前有文件注释,全部删掉之后就好了。5.使用commit-msg钩子规范化提交信息。4.生成.husky文件夹。...

2022-08-02 18:19:10 3151 4

原创 webpack相关面试题

Webpack。

2022-07-26 14:37:26 412

原创 websocket心跳机制(保活机制)

原理使⽤setInterval和setTimeout实现,每隔⼀段时间就向服务器发送⼀个数据包,告诉服务器⾃⼰还活着,如果服务器也。3.使⽤setInterVal和setTimeout⽅法实现⼼跳。活着就回传⼀个数据包,如果断开,需要客户端重连。1.Websocket连接成功时创建⼼跳检测。2.Websocket接收消息后进⾏⼼跳重置。...

2022-07-26 14:33:44 5142

原创 Js判断数据类型的4种⽅式

Js数据类型es56种数据类型string、number、boolean、object(Data、function、Array)、null、undefined。Es6中新增了⼀种数据类型symbol表示独⼀⽆⼆的值,最⼤的⽤法是⽤来定义对象的唯⼀属性名,⽆论何时都不相等。...

2022-07-26 14:32:45 264

原创 react18项目中引入插件后控制台eslint警告:Failed to parse source map from...

看起来是source map和node_modules的错误,所以我们改一下`webpack.config.js`中的source map配置找到`source map`配置后,在`exclude`中把`node_modules`文件夹添加进去,表示忽略这个文件夹下的文件内容

2022-07-06 16:31:05 1950 3

原创 js去除字符串两边空格不包括换行符,求求你们不要再说用\s了!

明明匹配的是所有,而空字符包括, ,还有!等价于[ \f\n\r\t\v\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u0020\u3000\ufeff]。例如, /\s\w*/ 匹配"foo sdfsdfz."中的’ sdfsdfz’。使用\s字符串两边如果有其他非空格字符也会被去掉,真的无语了,全网都在说用\s去空格,到底能不能分清还有区别呀!正确的是用空格的来表示所以只去除字符串两边空格的正则是而去除字符串两边的空字符才用思路:

2022-07-05 18:38:07 961

原创 html模板字符串绑定事件+传递参数

react components和hooks写多了,基本的事件都不会写了,今天给模板字符串绑定事件,绑定不上了哈哈哈哈,后面注册到window上才实现了,然后传参的时候直接把对象就传过去了,所以函数里变量报错了,后面发现是传递的object因为模板字符串编译后直接变成了[object,object],哈哈哈哈哈哈哈太小儿科了这种错误,虽然很丢人但也许也有人和我一样吧,所以记录一下哈哈哈哈把改成注册事件...

2022-06-27 11:00:16 1448

原创 【antv x6】创建画布报错

在使用antv x6的时候页面报错’不能读取属性位于undefined’,意思就是咱具备width属性的元素是Undefined而目前具有width属性的元素也就是咱们用来渲染的这个contaier元素了,且这个错误还是偶现,所以定位是异步问题,渲染画布的时候绑定的元素还未渲染所以我们把创建画布的操作放到页面渲染之后就可以啦~vue放在mounted里,react放到componentDidMount或者useEffect里~//官方文档写的是componentDidMount,因为react取

2022-05-12 11:25:09 2302

原创 create react app 后配置并启用scss_module带原来的class名

使用create react app 创建项目后,使用以下文件引入sass文件中的className名不生效我们发现页面中根本没有引用成功scss文件中的文件名把creat react app默认sass module 配置项改为true,我们发现文件名生效了,但是class名全部变成了在全局可区分的hash值 ,根本分辨不出当前class名具体是哪个元素因为css-loader默认的哈希算法是[hash:base64],这会将.title编译成._3zyde4l1yATCOkgn-DBWEL

2022-05-10 16:13:30 771

原创 【算法 】判断数组元素是否成对出现

给你一个整数数组。您的任务是创建它们的对,使得每对由相等的数字组成。每个数组元素只能属于一对。是否可以使用所有的整数?写一个函数:函数解(A)如果数组A包含N个整型数,返回是否有可能将所有整型分拆成对使用。给定A=[1,2,2,1],您的函数应该返回True,因为它们是(A[0])。A[3])(两者都有1)和(A[1])。A[2])(两者都有值2)给定A=[7,7,7],你的函数应该返回False,因为你可以生成一对数字7,但你仍然有一个数字7如果A=[1,2,2,3] 你的函数应该返回

2022-05-10 15:21:39 335

原创 少儿编程相关

少儿编程出现背景市面上出现的少儿编程公司大多成立在2015-2017年,那么出现的契机是什么呢1. 全国对小学奥数开始打压(家长也发现小学奥数对思维没有特别大的帮助,所以少儿编程变成了小学奥数的替代品)2.google公司的阿尔法狗挑战中国的围棋冠军柯洁并3:0取胜,人工智能开始兴起3.国务院颁布新人工智能规划,普及编程教育相关编程公司线上编程:编程猫、核桃编程、西瓜创客、边玩边学、学而思编程、猿编程线下:小马王、童程童美那么学编程参加比赛到底能不能对升学有帮助?参加各种竞赛对孩子升学的帮

2022-05-08 16:56:11 1022

原创 create react app后webpack配置alias别名

1.先使用 eject 扩展 webpackreact官方脚手架默认是将webpack配置隐藏起来了,在进行配置之前需要将webpack给暴露出来。1.输入命令 npm run eject将webpack.config.js暴露出来2.查找alias配置,设置路径别名 '@': path.resolve(__dirname, '../src'), '@assets': path.resolve(__dirname, '../src/assets'),然后在页面中就能使用@别名代替路径啦

2022-05-07 14:45:56 726

原创 二叉树中序遍历

解题思路一:递归1.递归调用,不断把子孙左节点传入,直到最后一层再无左节点的值2.打印当前节点值2.判断有无右节点,如果有的话重复步骤【1】【2】【1】向函数传入{2,1,3} 这个左子树,发现还有左节点{1}再调用【2】左节点{1}没有子左节点了,退出函数,【3】打印{1}【4】节点{1}没有右子树了,退出函数,代表我们当前左子树遍历完成【5】打印当前节点{2}【5】传入右子树遍历,重复步骤/** * Definition for a binary tree node. * fun

2022-04-24 18:33:33 118

原创 虚拟dom是如何挂载到真实dom上的

一.先使用createElement()方法生成虚拟dom节点createElement(‘ul’, {class: ‘list’}, [ createElement(‘li’, {class: ‘item’}, [‘1’])] )确定VNode的结构class Element { constructor(tagName, props, children) { this.tagName = tagName this.props = props

2022-04-14 23:18:58 1007

原创 css实现九宫格,不定宽高百分比(使用padding实现Div高度根据自适应宽度(百分比)调整)

css实现九宫格,但不一定有9个,可能有8个、7个,每两个格子间距是10px,一行放置3个格子,格子宽高比为1:2(最右的面试题) <div class="box"> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div> <div>

2022-04-14 23:01:20 1175 2

原创 js中new一个对象的过程中发生了什么

New一个对象的过程中发生了什么function Person(name) { this.name = name return name // 值类型或者无返回就返回实例 return { // 引用类型返回此对象 info: name + Image }}let p = new Person()1.先创建一个空对象用来存放实例 let obj = {}2.将构造函数的this指向空对象并执行函数体Let result = Person.call(o

2022-04-14 18:44:19 2141

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除