- 博客(13)
- 收藏
- 关注
原创 前端扁平化数组转树结构
在业务中我们可能会开发树状组件或者用一些ui库的Tree组件,例如antd的Tree。如果不使用异步加载,通常后端会返回一个完整的树结构数据给前端,但也有例外的情况,后端给的是一个扁平化的数据,例如这样:这个时候就需要我们去将其处理为一颗树结构数据了。第一种方式:递归实现。递归的弊端在于存在性能瓶颈,大量数据的情况可能不太适合。第二种方式: 利用对象的弱引用实现相对与递归,因为只有一层遍历,性能上要更好一些。写法有很多种,这里只列了两种写法,但实现思路都是一样的,利用map数据结构创建一个字典,遍历
2022-06-20 20:27:54
1940
原创 JavaScript学习笔记(五):强制类型转换
类型转换JavaScript为基本数据类型提供了封装对象,它们被称为原生函数(String、Number、Boolean),并且为基本数据类型值提供了特有的方法和属性(toString()、length)。基于基本类型的值,js引擎会自动对该值进行封装,来实现对这些属性和方法的访问。toPrimitive抽象操作(内部使用的操作)包括toString、valueOf、toNumber、toBoolean。字符串toString()处理非字符串到字符串的转换,还有一些特殊的地方:数组
2022-03-27 17:45:07
911
原创 学习笔记(三):JavaScript中的this
this调用位置:顾名思义,调用位置就是寻找函数被调用的位置,换句话说就是找到当前正在执行的函数的前一个调用,调用位置决定了this的绑定。调用栈:为了达到当前执行位置所调用的所有函数,调用位置就在当前正在执行函数的前一个调用中。this的绑定规则默认绑定:通过调用位置来决定默认绑定的对象是谁;函数运行(也可以理解为函数体存在与)在严格模式下无法将this绑定在全局对象上,它绑定的是undefined,但是函数调用在严格模式下时则不影响;在严格模式下调用函数不会影响this的默认绑
2022-03-19 14:40:08
408
原创 忘记密码 Mac12 mysql8.0.27链接报错 Access denied for user ‘root‘@‘localhost‘ (using password: YES)
使用Navicat连接MySql的时候报错Access denied for user ‘root’@‘localhost’ (using password: YES),很纳闷,我刚安装,密码也是刚设置的,怎么就g了呢…解决方法:第一步:停止mysql服务。百度了一下很多都是说在系统偏好中停止,博主自己试了一下,毫无反应,只能在终端中输入:sudo /usr/local/mysql/support-files/mysql.server stop第二步: 在终端中以管理员权限启动mysqld_
2021-12-10 15:40:25
1102
原创 基于vue2和ant-design-vue的table式输入表单
只是把项目中用到的其中一部分提取了出来,希望能帮到有需要的人限制输入类型Select自适应高度增加多行后续功能不多,源码也很简单,只是符合在项目中使用,如果需要自定义的可以参考或者clone一下代码改改也是可以的。计划后面有时间会再优化和新增其他功能。github:地址...
2021-03-30 16:58:35
845
2
原创 flat方法的简单实现
记录一下实现flat方法的过程flat实现的方式有很多种,这里只是记录一下其中的2种思路。Array.prototype.flat()方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回递归实现 function flat(arr, depth) { if (depth == undefined) { depth = 1; }; if (depth > 0) { return arr.red
2021-02-24 16:04:57
1490
原创 element-ui的Tree在自定义组件时,使用render-content后防止触发expand-on-click-node的方式
先看问题 在使用element-ui的Tree组件添加一些按钮的时候,比如这样: 这个时候如果设置了expand-on-click-node属性为true的话,点击按钮会同步触发节点的展开收缩事件。如果使用的是scoped slot的话可以直接使用.stop修饰符。但使用的是render-content该怎么添加.stop呢?解决方法 传入一个$event,然后在点击事件中添加: 然后再阻止一下事件冒泡就好啦~append(data, event) { event.stopPro
2020-06-19 16:48:04
7440
2
原创 解决iview的Carousel组件初始加载时无法显示的问题
先看问题: 开始这一部分内容是隐藏的,所以又一个loading的加载效果,问题出在加载完后Carousel组件部分居然啥都没有.....???然后小小的动一下窗口??????然后看一下DOM才发现Carousel的轮播容器没有宽度,但数据是存在div内部的,就是无法正常显示出来。这个位置是Carousel组件的内部容器,这里在渲染的时候正常情...
2019-06-05 11:45:48
4794
5
原创 根据iView官方文档更改定制主题报错问题的解决方法
主要是记录一下在这里遇到的坑,也希望能帮助到遇到类似问题的童鞋1、我是按照iView的定制主题文档来的,在src目录下创建theme文件夹和index.less文件:2、在index.less文件中写入:3、在main.js文件中引入:4、安装less和less-router(这里要注意一下less的版本):npm install less less-load...
2019-05-14 18:01:09
1354
转载 从git上下载项目时出现Authentication failed的解决方案
因为刚进公司遇到了同样的问题,也是找了很久的解决办法,只有这个行得通,所以这里做个记录,也分享给遇到同样问题的童鞋。由于是转载的这里附上原文:地址。大佬的文章藏得比较深,但介绍的很详细,如果有遇到同样问题的童鞋,可以参考下此方法。多一句嘴:如果是win10系统请直接在设置-查找设置里面搜索凭据管理啦。...
2019-04-01 11:06:25
2528
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人