- 博客(31)
- 收藏
- 关注
原创 React修改node_modules中的文件后续安装依旧保存
*需求:**如果node_modules 中的依赖有bug 或者 不满足我们的地方, 我们需要更改node_modules 依赖包中的源码时,为了不更改后,别人或者自己重新 npm install 时, 导致我们的更改丢失,我们需要用到patch-package。5.项目根目录中会自动创建一个 patches 文件夹,每次修改不同的依赖包,每次都要执行npx patch-package package-name。 例如:修改的是af-webpack文件夹中以内的文件。
2024-06-26 14:33:39
318
原创 vben admin 导入echarts3d地球图表
1.找不到 DOM 元素的问题,这通常是因为 DOM 还没有完全渲染完成,或者你尝试访问的 DOM 元素的引用方式不正确。1.下载依赖,后面要加-w,因为不在本身要下载的依赖中。引用与脚本中的变量名匹配。在你的代码中,模板使用了。所以应该用自带的useECharts来进行初始化。来获取 DOM 元素。,但是脚本中你尝试通过。
2024-05-30 14:43:24
412
原创 vben admin 下载datav后在界面引用(全局按需引入)
注册路径:src/components/registerGlobComp.ts。
2024-05-30 14:42:05
284
原创 vben admin点击目录跳转到全屏的界面:
import type { AppRouteModule } from '@/router/types';import { LAYOUT } from '@/router/constant'; //去掉此组件即可!import { t } from '@/hooks/web/useI18n';const otaupdate: AppRouteModule = { path: '/otaupdate', name: 'OTAUpdate', component: LAYOUT,
2024-05-30 14:40:07
338
原创 vben admin BasicTree菜单分配子项不必全部选中时,父级也传给后端
vben admin BasicTree菜单分配子项不必全部选中时,父级也传给后端
2024-05-15 18:20:19
779
原创 vben admin 通过后端返回Code来过滤菜单(前端方式控制)
1.通过路由映射直接做到了类角色权限2.后台改动角色,前台不需要改动,且角色不固定,目录也能放在前端。
2024-05-15 18:13:45
497
原创 Vben Admin 动态路由在标签页(Tab)上只能单个打开
在 Vben Admin 中,如果你希望某个动态路由在标签页(Tab)上只能单个打开,不允许同时打开多个相同路由的标签页,你可以利用 Vben Admin 提供的动态路由标签页自动关闭功能。通过以上步骤,你应该能够实现在 Vben Admin 中对特定动态路由的标签页进行限制,保证只能打开单个标签页。它应该是一个不包含动态片段的路径字符串,Vben Admin 使用它来识别和合并相同的动态路由标签页。如果你的项目中有特定的路由守卫或逻辑需要处理,确保它们与动态路由标签页自动关闭功能兼容。
2024-05-09 09:38:15
795
原创 解决vben-admin后台管理系统中数据列表无法展示的问题
使用vben-admin后台进行公司管理后台的搭建,在调用公司接口后,接口返回了数据,但是列表不展示,是返回的数据格式跟系统的数据字段不相同导致的。totalField字段是供分页组件展示的,同时 pageSizeOptions以及defaultPageSize是可以修改分页设置的。公司接口返回的数据放在content字段中,并且数据总量字段为totalElements,将listField跟totalField按需更改即可。这是vben-admin项目中的原始代码,
2024-05-09 09:34:57
364
原创 vbenAdmin 标准ts表单使用render 插槽:树形图ant
在vbenAdmin-form表单内使用xxx.data.ts文件标准化渲染,在单个字段实现树形图render组件
2022-07-07 14:01:07
1697
原创 react,tsx中使用微信jssdk分享总结
在React项目内终端下载在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.2.0.js在页面上方一引入weixin-js-sdk,若在react-tsx页面内报错,在pages内创建types文件夹-创建index.d.ts文件:配置next.config.js文件内域名代理一些踩坑:如遇到import wx from ‘weixin-js-sdk’ 报错找不到window,则可按需引入
2022-06-17 09:44:37
2782
原创 js 手写call方法
1.手写call方法 Function.prototype.call4=function(thisArg){ //先判断是不是空的,是的话指向window,不是的话采用Object方法,将thisArg传进去 thisArg= thisArg==null?Window:Object(thisArg); // log(thisArg); //调用的对象 //然后将剩下的使用[...rest]将它变为数组,然后返回一个新对象(slice复制
2022-05-18 18:10:10
1124
原创 js深拷贝、将对象转换为一维数组、查找一个元素里是否包含另一个元素的某一个值
js深拷贝、将对象转换为一维数组、查找一个元素里是否包含另一个元素的某一个值
2022-05-18 18:07:44
343
原创 js对象数组拍平(扁平化)
实现目标:将多层嵌套children的对象数组拍平,并存入父元素的id(可替换)。实现方法:1.储存第一层数组对象2.查看数组对象内是否有children,若有children则递归,并存入父元素的key。测试数据: let Data = [ { id: 1, content: '是否是双方都', list: [ { id: 2,
2022-05-17 15:51:02
3896
原创 JavaScript中class详解:如何使用与继承,以及继承中关于ES6与ES5的区别
46 class语法46.1 class语法详解1.组合模式用class1.class里的所有方法定义在类的prototype属性上面2.ES5构造函数Point对应ES6的Point类的构造方法class Point{ constructor(x,y){ this.x=x; this.y=y; } toString(){ console.log(this.x+this.y); }}let point=
2022-02-18 17:16:29
477
原创 JavaScript中Map数据结构的基本属性、用法与对象的切换,WeakMap数据类型与应用
45 Map数据结构45.1 Map的基本用法键名必须数据类型和值一模一样1.Object 字符串-值2.Map 值-值 hash结构 key:value对象的好处是独一无二 创建后的地址不一样let s=new Set();let s=new Set(); //value只能出现一次s.add()let m=new Map(); m.set(o,"aabbcc");m.get(o) //aabbcclet o={ x:1, y:2}l
2022-02-18 17:13:39
681
原创 数组的扩展方法,symbol数据类型与具体属性方法,对象的所有方法与拓展
4040.1 数组的扩展方法Array.from() 先看.length方法,再看自然数。要是无len,会返回[]array.from(arr,x=>x*x);Array.of() 老模式兼容,传数组项目 相当于ArraycopyWithin() copy在内部 修改当前数组,覆盖原有成员[].copyWithin(target,start,end)//target 该位置开始替换数据//start x 该位置开始读取数据//end x 该位置结束读取数据find()
2022-02-18 17:12:01
237
原创 箭头函数和普通函数的区别,什么是函数尾调用?函数尾调用的优化方法
38 函数38.1 函数参数设置1.使用参数默认值时,函数不能重名2.函数默认参数是惰性求值(运行时才求值3.尾部才参数默认值才可省略,严格undefined,null没有效果function foo(x,y,z){} foo.length //3function foo(x,y,z=1){} foo.length //24.fn.length 非常受到默认参数的影响5.一旦设置参数默认值,参数会单独形成一个作用域。语法行为在不设置参数默认值时是不会实现的。ex:let x=1;
2022-02-18 17:08:35
465
原创 字符串模板以及字符串拓展方法,数字格式的方法拓展与具体Math方法
36 字符串36.1 字符串模板let oDiv=document.querySelector("div"); let name; let json={ div:{ className:"msg", child:{ ul:{ className:"msg", child:{
2022-02-18 17:07:26
166
原创 解构赋值是什么?如何使用?
35 解构赋值35.1数组结构赋值1:解析解构,需模式匹配2:左边跳,右边也跳let [a,,c]=[1,2,3] //a:1,c:3… 拓展符let [a,...b]=[1,34325,35435,234123,5645]; //a:1,b:[34325,35435,234123,5645]左侧赋值后,右边剩下的值都会变成b的一部分3:…必须是最后的element4:数据结构一样,右侧少数据-不完全结构let [a,[b,c],d]=[1,[23],3] //a:1,b:23
2022-02-18 17:05:30
269
原创 高阶函数的几种类型与具体实现
32 高阶函数32.1递归函数arguments.callee (代替函数名) 是一个指向正在执行的函数的指针。function fn(num){ if(num<=1){ return 1 }else return num+fn(num-1); // arguments.callee(num-1);}但是严格模式下不能用,因此可以:let fac=(function fn(num){ if(num<=1){ return
2022-02-18 17:04:10
190
原创 构造函数-组合模式-继承
构造函数模式,构造函数与工厂模式的区别。模式:组合模式,动态原型,寄生构造, 严格模式,原型继承。继承:经典继承,组合继承,原型式继承,寄生式继承-寄生组合继承
2022-02-18 17:02:34
138
原创 防抖和节流
防抖和节流防抖let input=document.querySelector("input");let timer=null;input.oninput=function(){ //oninput 事件在用户输入时触发 clearTimeout(timer); timer=setTimeout(()=>{ console.log(this.value); },1000)}节流let count=0;let flag=true;bt
2022-02-18 16:57:06
414
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人