自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 vue开发可拖拽可放大模块的功能

开发中发现遇到一个小问题,只开发子组件时,拖拽移动位置正常,但实际到父组件中引入,鼠标按下之后并不能直接拖拽,而是鼠标抬起后拖拽内容跟随鼠标移动,再次鼠标按下抬起才能停止。最后发现是由于L1Map组件内 img 标签原本就可以拖拽,导致出现此问题,在img标签配置。可拖拽放大的组件代码。

2024-04-07 09:56:20 249

原创 js将阿拉伯数字转为中文数字

项目中需求,需要自己根据数组顺序,回显对应数据名称,例如:事项一、事项二,记录一下阿拉伯转中文数字方法。

2024-03-22 10:27:08 218 1

原创 记录一下el-table的tooltip换行

一些需求场景下,需要保持el-table中tooltip出现的时机,并且当前代码编写时完全不能通过js控制tooltip禁用属性时,可以通过以下方法实现tooltip换行。1、对应单元格的 showOverflowTooltip 属性设置为true,tooltip出现时机依然使用组件原本的。2、监听中判断当前单元格宽度与内容实际宽度,当内容实际宽度 > 单元格宽度时,对应的tooltip设置为不禁用即可。2、对应单元格内容使用p标签展示,当前单元格依然可设置一行展示,tooltip中可以按照p标签换行。

2024-03-11 10:31:23 995

原创 nginx: [error] OpenEvent(“Global/ngx_reload_12744“) failed (2: The System cannot find the file spec)

双击nginx.exe或者执行 start nginx.exe 启动就可以。最后发现是因为nginx没有启动。

2024-01-26 09:42:18 325

原创 js判断是否为数字的方法

找到一个比较好用的方法,记录下来,方便以后使用查找。isNumber(‘无’) —> false。

2024-01-05 11:08:50 503

原创 npm发包中一些操作备忘

发布beta版 npm publish --tag beta。取消发布 npm unpublish --force。发布 lerna publish。发布 npm publish。其他的的官方文档里面比较全。

2023-08-09 10:35:29 895

原创 formily报错undefined is not an object(evaluating e.onMount)

苹果11机型,系统ios16.5.1,混合开发的h5中,使用formily的表单设计器发起流程时其中某个select组件选择某些可选项时会执行代码到一定步骤突然报错,表单消失,排查很久没找到具体原因。已经发现的解决办法是排查对应表单,其中的x-designable-id名如果是以数字开头的就手动调整为字母开头,既可解决。formily报错undefined is not an object(evaluating e.onMount)

2023-07-13 14:13:16 488

原创 vue实现element-ui对话框dialog可拖拽功能

使用时直接在el-dialog标签中加上 v-dialogDrag 即可。业务中有支持弹窗拖拽的需求,根据网上搜到的内容实现了,整理记录一下。创建directives.js文件。在main.js中引入。

2022-11-15 10:07:20 472 1

原创 vue3磕磕绊绊汇总

最初只写了这些,value一直是null,最后发现了问题,setup里面忘了把创建的ref return出去。1、文件中定义的ref,在setup中onMounted生命周期中打印一直是null。记录一下最近在做的一个vue2写的插件转为vue3项目时遇到的各种问题。...

2022-08-26 16:50:15 248

原创 使用wps转换文本中001、002章节名为第001章、第002章

文本转换章节名,正则替换

2022-08-18 13:29:41 3044

原创 Invalid hook call. Hooks can only be called inside of the body of a function component

Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons: 1. You might have mismatching versions of React and the renderer (such as React DOM) 2. You might be

2022-08-11 11:06:59 852

原创 项目中记住账号后选中账号input框背景色被改变问题记录

最近项目的UI走查提出了选中上次记住的账号后,账号密码输入框样式改变的问题,记录一下最后找到的解决方案。vue项目使用此方法解决问题时,注意样式穿透问题,有时候此方法无效可能需要增加v-deep。...

2022-08-02 14:01:09 674

原创 常见git提交规范

git提交规范

2022-08-02 13:49:05 659

原创 Git Rebase与Merge

git merge、 git rebase

2022-08-02 13:45:08 217

原创 git常用命令

gitmerge--no-ff-m‘合并描述’分支名不使用Fastforward方式合并,采用这种方式合并可以看到合并记录。gitupdate-index--assume-unchangedfile忽略单个文件。gitrm-r--cached文件/文件夹名字(.忽略全部文件)gitrm-r--cached文件/文件夹名字取消文件被版本控制。gitbranch--no-merged查看未与当前分支合并的分支。...

2022-08-02 13:40:27 92

原创 火狐浏览器文本两端对齐无效text-align: justify

火狐浏览器文本两端对齐无效text-align: justify找了很多地方,尝试很多办法都不好使,直到看到这篇只需要设置了text-align: justify时加设一个white-space: pre-line就可以了

2022-07-08 17:35:07 498

原创 snapsvg插件踩坑记录

近期做项目从其他人项目里迁移的一个复杂动画出现了问题,Cannot read properties of undefined (reading on),排查问题出自snapsvg插件。最后发现这个问题出现是因为未做一些配置,分为两步:1、下载imports-loader插件,执行 npm i imports-loader ,这个插件的坑在于版本,我的snapsvg插件是0.5.1,对应的imports-loader插件版本是0.8.02、vue.config.js中增加配置:...

2022-06-16 11:00:37 507

原创 利用js将列表数据转换为树结构

记录一下遇到过好多次的需求,重复写太恶心了parent_id:最顶层的默认父节点值list:需要处理的列表数据返回的数据为处理好的树结构数据 const dealTreeData = (parent_id: any, list: any) => { const arr = list?.filter((c:any) => c.parent_id === parent_id) || []; arr.forEach((item: any) => { cons

2022-04-08 15:41:15 1452

原创 为什么 i&1 可以判断奇偶

记录一下看到过几次但是总会遗忘的知识点。&是位运算。在计算机里是只认识二进制的,我们人类用的一般是十进制,而二进制有个特点就是每一位上要么是0要么是1,还有一个特点是如果哪个位置是1,那一位的值就是2n【这个符号表示次方】,n就是这个1所处的位。举个例子,比如二进制“11”,它有两位,那么类比十进制“个十百千”的规律,这里的个位1(也就是最右边的1)它的值是2^0 =1,它的十位就是2^1=2,所以它的总数为2+1=3。这就是二进制的计算规则。了解了这个规则之后,你可能会发现,2的n次方(n&g

2022-02-15 14:20:58 1150

原创 前端vue项目一些好用的包(持续更新)

1、vue-echartsvue-echarts是封装后的vue插件,更适合vue项目使用2、dayjsmomentjs已停止维护,dayjs与其功能基本相同3、number-precision计算方法,避免js浮点运算bug4、vue-wait和vuex搭配,方便控制接口请求等待时的loading效果,避免了通过特定变量控制时繁琐以及遗漏处理效果的问题5、vue-resize监听dom大小调整6、jsoneditor是一个基于 Web 的 JSON 数据浏览和编辑的工具7、vue-

2021-12-16 13:56:23 1898

原创 前端项目cookie无法设置问题记录

cookie无法设置问题记录项目中遇到了一个cookie无法设置的问题,大佬排查之后,找出原因如下:当前服务器下不同端口有另外一个项目,并且存储cookie名称与我项目相同。正常来说,我项目登录后会直接将另外一个项目cookie覆盖掉,这样使用时还是正常的。但是由于另外一个项目是https的,cookie中有一个secure属性被设置为true,此时,非https的我的项目cookie就无法覆盖https设置的带有secure属性的cookie,导致项目无法登录...

2021-11-08 15:32:55 844

原创 js排序对象数组

方法 //排序方法 function sortNum(property){ return function(a,b){ var value1 = a[property]; var value2 = b[property]; return value1 - value2; } }, // 调用 arr.sort(sortNum('orderBy'))

2021-06-02 17:15:09 92

原创 vue项目中汉字转拼音

1、使用插件lodashjs-pinyin2、下载npm install js-pinyin点击查看插件文档3、方法封装在js文件中引入两个插件,并初始化js-pinyin插件import Pinyin from 'js-pinyin'Pinyin.setOptions({ charCase: 1 })setOptions中传入对象,对象可传两个参数charCase参数: 输出拼音的大小写模式,0-首字母大写;1-全小写;2-全大写checkPolyphone:是否检查

2021-06-02 16:07:59 4130

原创 echarts实现联动的折线图

实现出的效果为上下两个折线图,划入时tooltip直接显示的是两个折线图的数据如图:实现此种折线图需要的不一样的配置主要有以下几点:1、xAxis横轴配置、yAxis纵轴配置上,需要几个坐标系就配置几个,并且每个横纵坐标都需要配置gridIndex2、series中,那条线在哪个坐标,就配置对应的xAxisIndex、yAxisIndex与所需横纵坐标的gridIndex相对应除了正常需要的配置外再加上这两条,即可实现一个echarts中同时存在多个坐标系...

2021-03-24 13:26:13 2111 2

原创 使用canvas画迁徙线并加上动态效果与小飞机图标

首先在页面中放上地图图片,并建立三个canvas标签,分别用于点、迁徙线、动态效果 <div class="mapBox"> <div class="map"> <img src="@/assets/shanxi.svg" alt=""> </div> <!-- 线 --> <canvas id="canvas" class="canvas"></c

2021-01-21 15:01:30 1320 4

原创 对象数组的排序与去重

1、对象数组的排序sortNum方法为排序方法,参数property为需要排序的字段名arr: [ { num: 23, name: '铅笔' }, { num: 5, name: '橡皮' }, { num: 33, name: '钢笔' }, { num: 1, name: '彩笔' }]function sortNum(property) { //排序方法 return (a, b) => { const value1 = a[property];

2021-01-20 09:50:16 411

原创 前端小知识点杂记

当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter,这些 getter/setter 对用户来说是不可见的,但是在内部它们让 Vue 追踪依赖,在属性被访问和修改时通知变化。因为直接写对象形式是引用数据类型,各个组件中都有data的话会互相影响,但是以函数形式返回出的对象,每次都是返回一个新对象,不会造成各组件间数据干扰。

2020-12-25 13:27:41 106

原创 前端项目怎么查看内存是否泄露

常听前端内存泄漏,但是一直不知道怎么看是否泄露,或者内存泄漏不大的时候体会不到内存泄漏问题。一个很简单的判断方式,在项目页面中F12打开控制台,找到Memory,此处就会显示当前页面的内存占用情况,图中我的项目由于嵌套了iframe页面,所以显示两个占用情况下图箭头指的位置可以清除部分能被清除的内存具体查看内存是否泄漏的方法是:首先在一个页面A中找到memory内存这里,清除能清除的内存部分,然后记下当前内存情况,之后跳转要要查看内存泄漏的页面B,再跳转回原页面A,此时如果内存变多,证明要查看的

2020-12-25 11:05:11 2890

原创 vue项目中使用拖拽排序实现无刷新组件更改排序的办法

一个项目中拖拽排序使用的插件是vuedraggable,由于拖拽之后排序变化,通过v-for循环出的组件会重新创建,体验很不好,找了很多方法都没能解决无刷新组件更改排序,直到想起来看下v-for的原理。在vue中,通过v-for来渲染一个数组列表时,现在都需要传属性key,因为之前一直没太用到这相关的,所以key值我一直是用的index或者是随机字符串+index定义的,直到这次出的问题,才真正了解key的作用。就地复用策略就是解决本问题的关键点,在v-for循环的列表顺序改变时,只要key还是那个唯

2020-12-18 14:43:02 681

原创 vue-devtools调试工具安装流程

vue-devtools是一款好用的vue开发调试工具,只有开发环境可以使用,生产环境无法使用。1、下载直接clone项目到本地git clone https://github.com/vuejs/vue-devtools.git下载之后注意切到项目文件夹中,npm install 下载依赖2、依赖下载完成之后,npm run build进行打包3、打包成功之后,注意shells文件夹,里面会有一个chrome文件夹,这个就是需要使用的4、打开谷歌,右上角三个小点的位置点击打开,找到更

2020-12-16 13:45:59 190

原创 接口返回数据流格式时导出表格实现方法

当接口返回数据流格式的数据时,导出表格就需要使用到blob,new Blob([data])用来创建URL的file对象或者blob对象关于blob,可以查看:https://developer.mozilla.org/zh-CN/docs/Web/API/Blob/Blob主要实现方式:此方法可以实现将二进制流数据转为表格下载// 下载文件 // data为二进制流数据 downloadFile(data) { const content = data; c

2020-12-08 16:51:05 627

原创 element tree树形结构接口不支持搜索、懒加载情况下实现搜索

目前项目中,element tree树形结构由于数据太多使用了懒加载,并且接口不支持搜索,只能由前端实现搜索功能,暂时按照自己思路实现功能。思路为:输入搜索内容后,直接遍历树形结构的数据,通过filter筛选出结果之后再赋值给树形结构。demo中是三层树形结构的筛选代码为:template中:...

2020-12-08 15:59:27 1289 5

原创 使用canvas给下载的图片加平铺水印

此水印方法可以加为背景图,也可以作为导出图片的水印,水印内容可以使用图片,也可以使用文字将相应位置转为图片下载并带水印的流程1、首先拿到当前页面的偏移距离// 偏移距离const y = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;const x = window.pageXOffset || document.documentElement.scrol

2020-11-30 15:52:57 630

原创 vue-echarts自适应大小的实现

vue-echarts图表自适应用到了vue-resize完整流程为:1、下载vue-resizenpm i vue-resize -S2、main.js中引入import { ResizeObserver } from 'vue-resize';import 'vue-resize/dist/vue-resize.css';Vue.component('resize-observer', ResizeObserver);3、在页面调用在页面调用时,ResizeObserver组件

2020-11-30 15:37:49 604

原创 vue-echarts地图使用并增加散点图显示位置

vue-echarts可以使用npm或者CDN下载npm install echarts vue-echarts<script src=“https://cdn.jsdelivr.net/npm/echarts@4.1.0/dist/echarts.js”><script src=“https://cdn.jsdelivr.net/npm/vue-echarts@4.0.2”>1、引入vue-echarts以及地图文件// 局部引入vue-echartsimpor

2020-11-19 16:03:58 1654

原创 vue-echarts入门使用

vue-echarts是基于echarts封装实现的一个组件库,技术文档可访问:https://github.com/ecomfe/vue-echarts查看1、下载npmnpm install echarts vue-echartscdn<script src=“https://cdn.jsdelivr.net/npm/echarts@4.1.0/dist/echarts.js”><script src=“https://cdn.jsdelivr.net/npm/vue

2020-11-19 15:34:03 1850

原创 使用html2canvas将页面转为图片并下载

插件介绍直接引用官网上的介绍为该脚本允许您直接在用户浏览器上拍摄网页或其中一部分的“屏幕截图”。屏幕截图基于DOM,因此可能无法真实表示100%的准确度,因为它无法生成实际的屏幕截图,而是根据页面上的可用信息构建屏幕截图官网地址:http://html2canvas.hertzen.com/使用1、下载插件npm i -S html2canvas2、文件中引入插件import html2canvas from ‘html2canvas’;3、使用方法html2canvas(d

2020-11-19 13:34:13 644

原创 在vscode中创建vue自定义模板

首先找到用户代码片段的位置![](https://img-blog.csdnimg.cn/20201105094443610.png#pic_center在输入框中输入vue,然后选择vue.json或vue打开之后是这样的这些注释就是介绍怎么添加片段的添加的例子如下" 代表双引号\n为换行代码文字版为"vue_eslint_template":{ "prefix": "v1", // 想要使用这块代码时输入 "body": [ "<templ

2020-11-05 09:51:21 364

原创 js含有变量的正则表达式

场景:input框中需要对输入小数位数进行限制,但是每次不一定限制几位小数,需根据参数确定方法:在input中的input事件中,使用如下方法可以实现// amountDigit 为小数位数的变量//必须保证第一位为数字而不是.this.textarea = this.textarea.replace(/^\./g,"")//保证.只出现一次,而不能出现两次以上this.textarea = this.textarea.replace(".","$#$").replace(/\./g,"")

2020-10-09 11:11:17 940

原创 element Tree树形控件使用记录

需求为使用弹窗选择区域,弹窗左侧为待选区,右侧会展示当前已选中项,也是树形控件展示,如果打开弹窗时上次有选中数据,需要展示出来并勾选相应树形节点1、html及配置项、数据源部分由于需求中有需要主动设置选中项,所以需要设置node-key项<el-tree ref="tree" :data="data" node-key="areaCode" :props="defaultProps" show-checkbox render-after-expand @check-change=

2020-07-22 15:22:56 306

mqttws31.js

前端使用mqtt时需要引用的文件,

2020-06-02

空空如也

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

TA关注的人

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