摘要:
刷新页面时不会触发组件的 onUnmount 事件。 因为刷新页面会直接销毁整个页面的 DOM 树和内存中的组件实例,属于“强制清空”,而非组件正常从 DOM 树中卸载的流程。 而 onUnmount 的核心是“组件正常卸载(如路由切换、条件渲染移除)时执行”,仅在组件主动脱离 DOM 树的场景下触
阅读全文
posted @ 2025-10-03 21:25
罗毅豪
阅读(28)
推荐(0)
摘要:
实现防重复提交 1.按钮置灰和恢复(触发函数时应马上置灰,再执行其他逻辑,最后恢复按钮状态,否则容易在执行函数的置灰语句前再次触发函数,可以使用try-finally结构对函数进行改造) 2.前端对请求进行缓存(实现请求最终只有一次的情况) 3.后端对同一接口频繁调用设置时间间隔 4.提交时前端传递
阅读全文
posted @ 2025-10-03 21:14
罗毅豪
阅读(6)
推荐(0)
摘要:
原代码 const commitForm = async () => { btnLoading.value = true; isCommitted.value = true; //过滤出显示字段的列表 let showFieldsList = []; for (let comp of compLis
阅读全文
posted @ 2025-09-22 22:44
罗毅豪
阅读(6)
推荐(0)
摘要:
原代码为 for (let tab of tabList.value) { const subFormData = subOrderListMap.value[tab.subFormWebUuid]; debugger if (subFormData) { tab.formStatus = "已完成
阅读全文
posted @ 2025-09-21 10:18
罗毅豪
阅读(6)
推荐(0)
摘要:
JS之数组直接用include方法和数组转集合后使用has方法效率比较: 数据量小时差异可忽略,数据量大时 “数组转集合再用 has” 效率远高于数组的 includes。 核心原因是两者的查找原理不同: 1. Array.includes():本质是遍历数组逐个比对,时间复杂度为 O(n),数据越
阅读全文
posted @ 2025-09-17 16:10
罗毅豪
阅读(7)
推荐(0)
摘要:
以下是 Map 正确序列化与反序列化的完整代码示例,包含核心转换逻辑和验证步骤: // 1. 定义一个待序列化的 Map(包含不同类型的键值) const myMap = new Map([ ['name', '豆包'], [123, '数字键'], [true, '布尔值键'], [{ id: 1
阅读全文
posted @ 2025-09-17 16:05
罗毅豪
阅读(13)
推荐(0)
摘要:
在 Java 的org.apache.commons.lang3.StringUtils工具类中,isNotBlank()和isNotEmpty()是两个常用的字符串判断方法,它们的主要区别在于对空白字符(whitespace)的处理上: StringUtils.isNotEmpty(CharSeq
阅读全文
posted @ 2025-09-13 19:02
罗毅豪
阅读(10)
推荐(0)
摘要:
需求:变更URL的传参但不刷新页面 代码如下: // 解析URL参数为对象 function getUrlParams() { const params = {}; const search = window.location.search.substring(1); if (search) { s
阅读全文
posted @ 2025-09-08 10:56
罗毅豪
阅读(17)
推荐(0)
摘要:
现况:电脑双网卡,同时连接wifi和网线,运行应用程序需要连接wifi,但是wifi流量用完了,无法上网,而插网线可以上网,同时连接时访问外网网页失败,无法上网。 解决方案1:连wifi + 网线,然后写个脚本让.50走wifi,其他走网线 要理解 “连 WiFi + 网线,写脚本让.50 走 Wi
阅读全文
posted @ 2025-09-06 15:47
罗毅豪
阅读(104)
推荐(0)
摘要:
原代码为 <van-radio v-for="dict in item.dicData" :key="dict.value" :name="dict.value" :disabled="isCompReadOnly" class="option" > <span class="label">{{ d
阅读全文
posted @ 2025-08-23 10:51
罗毅豪
阅读(8)
推荐(0)
摘要:
需求:使用burp抓包,可以看到富文本编辑器中图片是以base64形式在img标签内的,那就可以添加onclick=alert(1)来注入xss代码。 这样用户在点击图片时就会触发xss代码,进行弹窗。若通报发布,那所有的用户都可以查看到通报内容,如果攻击者恶意伪造弹窗内容进行钓鱼,用户可能会当真,
阅读全文
posted @ 2025-08-11 14:33
罗毅豪
阅读(48)
推荐(0)
摘要:
1.安装zxing "devDependencies": { "@zxing/library": "^0.21.3", } 2.手机端页面使用示例(该扫码功能也可用于PC端扫码) <template> <div :class="subFormItem ? 'sub-comp' : 'custom-c
阅读全文
posted @ 2025-07-14 11:21
罗毅豪
阅读(71)
推荐(0)
摘要:
我们在使用电脑时,经常需要截取多个截图同时进行对比,可使用Snipaste软件。 使用方式: F1-截取截图 F3-固定截图 双击-关闭截图
阅读全文
posted @ 2025-07-08 15:48
罗毅豪
阅读(13)
推荐(0)
摘要:
我写的原代码如下: const getBatchFileUrlAddLock = (minioObjectName) => { if (sessionStorage.isGetResUrlReqLocked == 1) { setTimeout(() => { getBatchFileUrlAddL
阅读全文
posted @ 2025-06-20 10:17
罗毅豪
阅读(40)
推荐(0)
摘要:
使用|| 使用?? 可看出若a的值为0,只有以??方法为变量提供的默认值的方式是正确的。
阅读全文
posted @ 2025-06-18 09:02
罗毅豪
阅读(7)
推荐(0)
摘要:
最近开发时,使用console.log输出数组,如下图所示,显示数组长度是1,但是展开后却没有数组项。 根据查询和分析,了解到: 若对数组输出后,继续对数组进行操作,那会影响之前的输出,出现输出数组长度不一致的问题。 例如: const userList = [1, 2, 3]; console.l
阅读全文
posted @ 2025-06-06 14:23
罗毅豪
阅读(15)
推荐(0)
摘要:
1. 没有++和--运算符,需要通过+=1和-=1来实现 2. 可使用 int() 函数把字符串转换为整数 3. 使用 float() 函数可以把字符串转换为浮点数 4. str() 能把多种数据类型转换为字符串,包括数字 5. 保留两位小数(结果为字符串类型),四舍五入,示例: num = 3.1
阅读全文
posted @ 2025-05-24 14:50
罗毅豪
阅读(13)
推荐(0)
摘要:
Vue组件常用的import如下: import { ref, computed, toRefs, watch, onMounted, h, nextTick, defineAsyncComponent, reactive, shallowRef, getCurrentInstance, injec
阅读全文
posted @ 2025-04-15 15:36
罗毅豪
阅读(27)
推荐(0)
摘要:
由于后端限制不能频繁请求,所以500ms内的二次请求会返回服务器繁忙,请稍后再试,但是业务需要对同一接口频繁进行多次请求,因此,可以通过给请求结果增加缓存来解决。 request.js修改:增加adapter配置 import axios from 'axios' import cacheAdapt
阅读全文
posted @ 2025-04-13 12:53
罗毅豪
阅读(34)
推荐(0)
摘要:
本代码通过Vue循环<component>组件时,调用子组件的校验方法,实现多态,避免修改父组件,增强扩展性。 父组件原代码: <div v-for="comp in compList"> <template v-if="comp.isShow"> <component :is="compMap[c
阅读全文
posted @ 2025-04-08 09:55
罗毅豪
阅读(28)
推荐(0)
摘要:
JS实现监听对象属性的变化并获取变化的属性: 原代码: watch( () => formData.value, (newVal, oldVal) => { for (const key in newVal) { if (newVal[key] !== oldVal[key]) { console.
阅读全文
posted @ 2025-04-07 10:19
罗毅豪
阅读(137)
推荐(0)
摘要:
我使用 const conditions = [ ...item.value.conditions ]; 拷贝出一个新数组,但是当我修改新数组的元素,原数组也发生了变化,因此我判定扩展运算符为浅拷贝。 修改为深拷贝的方法为: const conditions = JSON.parse(JSON.st
阅读全文
posted @ 2025-04-06 15:55
罗毅豪
阅读(30)
推荐(0)
摘要:
原代码支持多选 <a-tree ref="tree" checkable blockNode v-model:expandedKeys="expandedKeys" :replace-fields="replaceFields" :tree-data="treeData" :load-data="g
阅读全文
posted @ 2025-03-31 16:08
罗毅豪
阅读(68)
推荐(0)
摘要:
使用Bandizip压缩文件: 1.使用Bandizip可以压缩成tar包,满足运维部署的要求。 2.使用Bandizip压缩成zip格式速度快,亲测是WinZip打包时间的五分之一。
阅读全文
posted @ 2025-03-28 14:50
罗毅豪
阅读(45)
推荐(0)
摘要:
在使用<a-auto-complete>输入首个汉字时,输入法总是自动退出,剩下一个英文字母在输入框,代码如下: <a-auto-complete v-model:value="formState.name" :allowClear="true" @clear="clearContent" :opt
阅读全文
posted @ 2025-03-26 10:00
罗毅豪
阅读(34)
推荐(0)
摘要:
1.给<a-upload>增加accept属性,accept属性为这些文件的MIME类型。 <a-tooltip> <template #title>只允许上传doc(x),xls(x),txt,pdf</template> <a-upload v-model:file-list="fileList
阅读全文
posted @ 2025-03-24 14:49
罗毅豪
阅读(172)
推荐(0)
摘要:
Antd之解决<a-table>只选了一行就全部选上的缺陷: 将原<a-table>代码 <a-table :columns="columns" :data-source="dataSource.list" :row-selection="{ selectedRowKeys: selectedKey
阅读全文
posted @ 2025-03-11 15:58
罗毅豪
阅读(61)
推荐(0)
摘要:
1.<template>配置示例 <!-- 表格 start--> <a-table :columns="columns" :data-source="tableData.list" :loading="loading" style="margin-top: 24px" :pagination="f
阅读全文
posted @ 2025-02-12 16:58
罗毅豪
阅读(13)
推荐(0)
摘要:
1.去掉皮肤瑕疵-污点修复画笔 2.把手脚变瘦-液化滤镜 3.把脸变白-应用图像-R通道-滤色-不透明度
阅读全文
posted @ 2025-01-20 19:34
罗毅豪
阅读(18)
推荐(0)
摘要:
需求:调用通讯录子组件选人,选完人后返回数据到父组件进一步处理。 1.引用子组件 <org-picker ref="orgPicker" title="请选择人员" multiple :selected="orgPickerSelected" @handleSelected="selected" t
阅读全文
posted @ 2024-12-10 16:21
罗毅豪
阅读(35)
推荐(0)
摘要:
我开发的一个页面,同时多次使用了同一个组件,但是这个组件一加载就会调用同一个方法,最终同时调用同一接口。 但是我们后端对于同一接口的调用频率进行了限制,不允许短时间内重复提交,需要在一个时间间隔后提交才能请求成功。 原代码为: onMounted(() => { const code = item.
阅读全文
posted @ 2024-11-18 16:23
罗毅豪
阅读(85)
推荐(0)
摘要:
1.小一寸照片的像素尺寸为260像素(宽)× 378像素(高),一寸的像素尺寸为295像素(宽)× 413像素(高)。 2.蓝底照片的颜色参数RGB值为R:67, G:142, B:219。 3.人物头部距离图片顶部的背景距离小一些。
阅读全文
posted @ 2024-10-19 20:26
罗毅豪
阅读(568)
推荐(0)
摘要:
1. ctrl + shift + p 2. 输入:open workspace settings(JSON) 3. 添加配置 { "workbench.editor.wrapTabs": true, } 即可。
阅读全文
posted @ 2024-10-11 09:41
罗毅豪
阅读(1012)
推荐(0)
摘要:
父组件给子组件传多个不确定的参数,可以使用v-bind进行传参。 父组件代码示例: <template> <component ref="form" :value="value" :disabled="disabled" :is="currentComp" :mode="mode" v-bind="
阅读全文
posted @ 2024-10-09 11:40
罗毅豪
阅读(82)
推荐(0)
摘要:
1.开发拍照上传页面 - andImgCapture.vue,包含镜头翻转功能 <template> <div> <van-button icon="plus" type="primary" :disabled="disabled" @click.stop="clickCamera" ref="up
阅读全文
posted @ 2024-09-23 15:41
罗毅豪
阅读(1426)
推荐(0)
摘要:
1.<template>部分 <a-upload name="file" :customRequest="importExcelData" accept=".xls,.xlsx" class="uploadBtn" :showUploadList="false" > <a-button type="
阅读全文
posted @ 2024-09-04 09:39
罗毅豪
阅读(510)
推荐(0)
摘要:
File对象有两种形态, 在请求时为: 控制台输出为: 从formData中获得fileList对应的File对象,并转换为base64字符串,再转换回File对象,代码示例如下: const fileList = uploadFormData.get("fileList"); console.lo
阅读全文
posted @ 2024-08-02 16:49
罗毅豪
阅读(652)
推荐(0)
摘要:
需求:根据判断当前是PC端还是手机端,给页面显示不同的内容。 const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); const title = ref("服务器错误"); const subTitle = re
阅读全文
posted @ 2024-08-02 16:39
罗毅豪
阅读(22)
推荐(0)
摘要:
CSS设置页面背景色为浅灰色,代码示例如下: .list { background: #ebedf0; height: 100vh; overflow-y: scroll; overflow-x: hidden; } 即可。
阅读全文
posted @ 2024-07-29 15:54
罗毅豪
阅读(438)
推荐(0)
摘要:
在这里记录一下开发过程的一些小要点。 这些小要点暂时无法单独写成一篇文章,如果以后有时间可以对单个小要点进行知识扩展,形成文章。 1.<van-tabs>加上sticky属性,即可实现固定定位。 2.媒体查询区间左闭右开。 3.普通的时间字符串可用大于小于号比较大小。 4.图片加载出现404,给im
阅读全文
posted @ 2024-07-25 17:14
罗毅豪
阅读(21)
推荐(0)