自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 百度map引入后的一些坑

后面测试人员发现有bug!就是BMapGL对象没有生成,mapOptin对象一直没有挂载,所以才是空白没报错(因为head标签里面已经有脚本了,并且控制台没有任何报错,而清除缓存后js加载速度受网限不同)。于是就用了一个图方法,设置个定时器,时间设置的很小用来轮询百度地图脚背加载状态,询问window中BMapGL对象是否生成,只要确保js加载成功、BMapGL对象生成了再进行配置项的白队实例对象挂载就行了。最近工作中需要使用百度api。然后在地图展示的页面进行百度地图实例挂载,然后,,,就报错了。

2024-03-15 18:38:21 379

原创 解决:element plus form 表单项的校验validator 函数中callback和修改绑定元素值只能触发一个的问题

项目开发遇得到的小坑

2023-09-03 18:06:17 549

原创 <a-date-picker>组件change 组件数据更新,视图不更新

a-date-picker>组件change 组件数据更新,视图不更新,但是绑定的change事件打印出来的值是变化的。所以是数据更新了但是视图层没有改变。在change中添加this.$forceUpdate();

2023-02-14 23:42:17 899 2

原创 AntDesignVue Select 选择器 选项 有默认空选项

这种情况是因为 v-mode绑定的值 初始值不是undefined了,只要在修改该值之后 将默认值重新设置为undefined就行了。

2022-11-18 18:08:07 2225

原创 vue项目兼容ie浏览器(出现白屏)

vue项目兼容ie浏览器(出现白屏)

2022-08-26 14:13:07 938

原创 根据promiseA+规范手动实现一个promise

先看下promise的一般用法const p = new Promise((resolve, reject) => { setTimeout(() => { resolve('ok'); }, 1000) }) p.then((value) => { alert('成功时候的回调' + value) }, (reason) => { alert('失败时候的回调' +

2022-05-08 16:08:21 257

原创 Cannot read properties of null (reading ‘setFieldsValue‘)

场景:使用setFieldsValue给form设置表单的值 const handleUpdata = (i)=>{ // 设置modal对话框展开 setIsUpdateVisible(true); //设置form表单组件展示值 updateForm.current.setFieldsValue(i) }报错:是因为:react中状态更新不一定是同步的,导致对话框模块还没显示,也就是表单还没挂载就调用了setFieldsValue,所以报错

2022-04-02 16:01:50 3816 1

原创 useRef和forwardRef结合,实现父组件拿到子组件被ref标识的节点

先熟悉下useRef。React.useRef() 调用后可以返回一个容器,该容器可以存储被ref所标识的节点,该容器只能存储一个节点。作用:保存标签对象节点,功能与React.createRef一样const myref = React.useRef()function show(){ console.log(myref.current.value); }```return ( <> <input type="text" ref={m

2022-04-01 19:36:53 847

原创 React项目跨域配置反向代理

1、下载 npm install --save-dev http-proxy-middleware2、 src文件夹下创建setupProxy.js文件,配置反向代理对象const { createProxyMiddleware } = require('http-proxy-middleware');module.exports = function(app) { app.use( '/api', // 每次请求会拦截地址中/api,就会代理到 'http://localhost:5

2022-03-25 18:59:45 1553

原创 antd样式按需引入和主题颜色修改

按照官方文档一步步实现 结果还是遇到坑了,记录下下面直接上步骤按需引入css样式安装cracoyarn add @craco/craco修改 package.json 里的 scripts 属性/* package.json */"scripts": {- "start": "react-scripts start",- "build": "react-scripts build",- "test": "react-scripts test",+ "start": "

2022-03-24 22:11:02 3778 1

原创 react编程式路由有两种:replace和push

编程式路由有两种:replace和push三个步骤:传参跳转----->注册路由----->接受参数路由跳转的背景是onClick点击事件<button onClick={()=>{this.forward()}}>前进</button><button onClick={this.go}>go</button>**第一个步骤:传参跳转(编程式路由跳转的两种方式:replace和push)**replace跳转(分别传递par

2022-03-23 18:31:00 2291

转载 React中路由传递参数的三种形式

这里写目录标题一、params参数(传递的参数显示在url地址)二、search参数(传递的参数显示在url地址)。也可以叫query参数三、state参数(传递的参数不在url地址显示,刷新也可以保留住参数)一、params参数(传递的参数显示在url地址) 1、路由链接(携带参数) <Link to={`/home/message/detail/${item.id}/${item.title}`}>{item.title}</Link> 2、注册路由(声明接收参数)

2022-03-21 23:45:09 898 2

原创 React项目中一般组件和路由组件的区别

一 、写法不同一般组件注册:<Home/>路由组件注册:<Route path="/home" component={Home}/>二、 存放位置不同一般组件:components文件夹路由组件:pages文件夹三 、接收到的props不同一般组件:写组件标签时传递了什么,就能收到什么路由组件:接收到三个固定的属性history go: ƒ go(n) goBack: ƒ goBack() goForward: ƒ goForward() push: ƒ

2022-03-20 17:39:35 1191

原创 初识useState、useEffect、useRef

初识useState、useEffect、useRef

2022-03-13 21:15:52 2289

原创 class类的this指向

一般情况下类中的this指向实例,类中方法实例调用的话,类方法中this就指向实例对象。但是把类中的方法,赋值给变量之后再调用就相当于自调用了,就不是实例调用了。赋值方法this就是指向window,但是类中的方法是自动开启局部严格模式了,所以赋值方法this最终是undefined例如下面代码中 类方法ready,赋值给变量x,再x()调用,就是自调用,this就是undefined解决:要想让x()调用时this指向实例对象,只需在赋值是改变this指向就行。例如bind()类方法(也就

2022-03-10 11:11:06 1759 1

原创 实现统计字符串中出现次数最高的字符以及次数

let str = 'dsahdqdi'; let obj = {}; /* 1、先将字符串以键值对的形式放进对象中 */ // 将字符串中的字符作为对象的键,将字符出现的次数最为对象的值 for(let i=0;i<str.length;i++){ // obj_key 为obj的属性(键) ,obj[obj_key]为obj的属性值(值) let obj_key = str.charAt(i) // charAt() 函数返回位于指定位置的.

2022-03-06 22:25:23 519

原创 防抖与节流

防抖:当持续触发事件 一定时间内没有再触发事件 事件处理函数才会执行一次节流:当持续触发事件的时候,保证一段时间内 只调用一次事件处理函数

2022-02-21 22:14:00 106

原创 VUE3的响应式原理

vue2的响应式:对象:通过defineProperty对对象的已有属性读取和修改进行劫持(监视/拦截);数组: 通过重写数组更新数组一系列更新元素的方法来实现元素修改的劫持缺点:1、对象直接新添加的属性或删除已有属性, 界面不会自动更新2、直接通过下标替换元素或更新length, 界面不会自动更新 (后来出了$set方法)#Vue3的响应式通过Proxy(代理): 拦截对data任意属性的任意(13种)操作, 包括属性值的增删改查通过 Reflect(反射): ..

2022-01-17 18:17:19 2580

原创 node.js之实现一个简易版的require

module.js文件里面抛出内容:index.js文件读取module.js文件内容index.js文件通过require方法,读取到module.js文件内容下面就自己实现node里面的require引入自己写的require.js文件被读取文件module.js的内容结构index.js文件通过自己封装的myrequire方法,读取到module.js文件内。大功告成。...

2022-01-13 23:08:11 289

原创 JS算法------快速排序

快速排序思路:1. 将从数列中取出一个数作为基准数。 将比这个数小的全部放在她的左边,大于或等于它的数全部放到它的右边2. 再对左右区间重复第二步,直到各区间只有一个数(递归操作)3. 将有序的区间合并起来,这样整个数列就有序了递归快排例子:输出结果:...

2022-01-03 17:05:42 369

原创 js 闭包

什么是闭包?闭包是指那些能够访问 自由变量 的函数。自由变量:是指在函数中使用的,但既不是函数参数也不是函数局部变量的变量。闭包的作用:1.创建私有变量2.延长变量的生命周期:一般函数的词法环境在函数返回后就被销毁,但是闭包会保存对创建时所在词法环境的引用,即便创建时所在的执行上下文被销毁,但创建时所在词法环境依然存在,以达到延长变量的生命周期的目的。(也就是说只要闭包函数引用不断,变量就会一直存在 )

2021-12-26 20:11:02 363

原创 ES5继承和ES6继承的区别

ES5继承和ES6继承的区别

2021-12-15 22:28:52 1593 4

原创 Class里面的super

constructor其实就是构造函数,使用new关键字构造实例时候 就会自动调用constructor构造函数,constructor里面的this指向new出来的实例。

2021-12-14 22:14:36 1067

原创 this指针绑定

this概念:this是指当前函数,当前模块的运行环境上下文。是一个指针变量,普通函数的this是在调用时才被绑定确认指向的(即是谁调用就指向谁);下面介绍几种this绑定规则一、默认绑定 特点:非严格模式下 this指向全局对象(浏览器环境里指向window, node环境里指向global) 严格模式下 this指向undefined,严格模式下是不允许this指向全局对象的。function a(){}; a(); // 函数独立调用,不...

2021-12-08 22:48:57 169

原创 js继承的几种方式实现

一、原型链继承缺点:1、构造函数里属性是引用类的话,一旦某个实例更改了这个属性,所有实例都会收到影响 2、创建Child实例无法传参(指的是传给构造函数Parent)二、构造函数继承缺点:属性或者方法想被继承的话,只能在构造函数中定义。而如果方法在构造函数内定义了,那么每次创建实例都会创建一遍方法,多占一块内存。三、组合继承(也就是把原型继承和构造函数继承结合起来(解决构造函数继承内存泄漏问题)把方法加在prototype上就共享一块内存了)缺点...

2021-11-29 22:39:39 380

原创 面向对象编程的几种方式

面向对象编程的几种方式

2021-11-22 22:55:02 823

原创 js预编译

预编译 优先级: 函数声明>实参>形参 预编译阶段就是作用域的创建阶段(分为全局作用域和函数作用域) js的变量对象在函数作用域创建阶段也叫 AO对象 (是我们访问不到的,是供js引擎访问的) AO对象在函数作用域创建阶段坐了哪些事情?(预编译阶段,不包括预编译执行完成后的js解释阶段(比如具体变量赋值)) 1、创建AO对象 2、找形参和变量声明 来作为oa对象的属性,值为undefined; ...

2021-11-21 21:41:51 453

空空如也

空空如也

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

TA关注的人

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