每日一记
麻辣_水煮鱼
游啊游
展开
-
处理树结构(有某个属性时不显示该节点)
需求:有analysis属性的节点不显示。原创 2024-07-02 17:10:24 · 79 阅读 · 0 评论 -
vue关闭页面时执行事件
在vue中,可以通过监听浏览器的。事件在关闭页面时执行你想要的操作。原创 2024-06-21 16:24:40 · 389 阅读 · 0 评论 -
antdv 下拉框增加全选功能
由于select下拉框中内容过多,使用下拉框多选需要一个一个选取太过于麻烦,所以在下拉中增加全选和取消全选操作。可以自定义下拉框内容,可以满足我们的需要。原创 2024-06-12 11:28:45 · 217 阅读 · 0 评论 -
antdv 穿梭框
除了实现简单的穿梭框功能,还想要重写搜索事件,想达到的效果是搜索到的结果的节点能自动展开且高亮显示。antd的穿梭框的数据貌似只接收key和title,而且必须是字符串(我测试不是字符串的不行),所以要把后端返回的数据再处理一下得到我们想要的数据。给穿梭框添加show-search。原创 2024-06-07 17:21:04 · 384 阅读 · 0 评论 -
vue处理json数据
背景:后端返回的数据不是我想要的,现在需要把 name 替换为title(小声蛐蛐:又让我处理数据)(使用递归的方式将title属性赋了name的值)原创 2024-06-07 08:47:55 · 412 阅读 · 1 评论 -
vue实现pdf下载——html2canvas
的原理是通过遍历DOM树,将每一个HTML元素转化为Canvas对象,并叠加到一起形成一张完整的图片或者PDF文件。2.1 在页面引入html2canvas。html2canvas 官方文档。2.2 创建下载pdf页面的方法。2.使用(页面已经写好)2.3 页面调用下载方法。原创 2024-06-05 10:03:54 · 489 阅读 · 0 评论 -
让网页的文字可复制
设置或检索是否允许用户选中文本。原创 2024-05-16 14:10:38 · 133 阅读 · 0 评论 -
vue3笔记
通过扩展于标准HTML的模板语法,我们可以根据JavaScript的状态来描述HTML应该是什么样子的。当状态改变时,HTML会自动更新。原创 2024-04-17 16:55:43 · 437 阅读 · 0 评论 -
antdv下拉框即可手动输入又可下拉选择
最近有个需求是下拉框既可下拉选择也可手动输入,antd 的a-select组件不能直接使用,所以需要基于插件再修改一下。原创 2024-01-30 17:00:53 · 930 阅读 · 0 评论 -
css左右两端对齐
【代码】css左右两端对齐。原创 2023-11-08 09:42:22 · 165 阅读 · 0 评论 -
antdv 锚点踩坑
背景:使用antd的锚点时,按照官方文档的用法配置之后发现锚点组件的锚点Title位置没办法随着我的页面滚动而变化,但是点击Title跳转具体锚定位置的功能却是没有问题的。解决方法:getContainer绑定滚动范围容器。原创 2023-10-18 09:17:39 · 1019 阅读 · 1 评论 -
js将带标签的内容转为纯文本
创建一个临时 DOM 并给他赋值,然后我们使用 DOM 对象方法提取文本。背景:现需要将富文本的所有 html 标签全部删除得到纯文本。原创 2023-10-17 09:59:50 · 450 阅读 · 0 评论 -
antd 表格getCheckboxProps禁用
需求:列表某些数据复选框禁用。原创 2023-10-12 10:13:39 · 600 阅读 · 0 评论 -
a-select下拉框因为数据量太大造成卡顿的问题
实际需求:在项目中一个下拉框中需要展示10000条数据,这10000条数据去后端查询虽然比较快,但是将查询结果返回给前端需要进行渲染,前端就会造成卡顿的现象,这时候就可以使用滑动加载只渲染总数据前100条数据以保证不卡顿。然后当需要搜索的时候对从后台拿到的数据进行过滤,也只取前100条,然后通过select下拉框popupScroll事件,下拉列表滚动时的回调,每次回调时都添加一部分数据来解决下拉框的卡顿问题。原创 2023-05-12 16:48:47 · 833 阅读 · 1 评论 -
vue-router 中beforeEach无限循环
vue-router 中beforeEach无限循环原创 2023-04-07 11:13:12 · 544 阅读 · 0 评论 -
antd 表单setFieldsValue给变量赋值
antd 表单setFieldsValue给变量赋值)原创 2023-04-06 09:44:46 · 506 阅读 · 0 评论 -
antdv table 行点击事件且点击高亮显示
antdv table 行点击事件且点击行高亮显示原创 2023-01-14 14:11:58 · 2006 阅读 · 0 评论 -
echarts文本过长显示...
echarts文本过长显示...原创 2022-08-29 17:18:16 · 192 阅读 · 0 评论 -
css只翻转背景图片而不翻转内容
想翻转背景图片,直接在元素里面用transform,然后发现内容也翻转了。原创 2022-08-05 09:42:45 · 3039 阅读 · 0 评论 -
vue 点击事件名是变量
代码】vue点击事件名是变量。原创 2022-07-22 11:17:53 · 778 阅读 · 0 评论 -
vue中v-for写在template上,加key提示错误
vue中v-for写在template上,加key提示错误原创 2022-07-22 09:08:32 · 4973 阅读 · 1 评论 -
vue3.0项目引入three.js
vue3.0项目引入three.js原创 2022-07-20 11:34:12 · 694 阅读 · 0 评论 -
vue实现html格式(富文本编辑器)导出word
目录1.导入需要的包2.引入3.点击事件实现导出html-docx-js和file-saver2.引入3.点击事件实现导出原创 2022-06-24 09:40:55 · 2204 阅读 · 2 评论 -
echarts仪表盘式进度条
效果图如下:let myChart = echarts.init(this.$refs.echarts); let value = (this.data.yh_zg / this.data.yh_total*100).toFixed(2); // 绘制图表 let option = { radius: '480%',//仪表盘放大,默认的图太小了 series: [ // 背景 { .原创 2022-05-09 14:16:11 · 2910 阅读 · 0 评论 -
js数组根据时间排序
let process = [{label:'公告开始时间',time:'2022-04-26 14:29:38'},{label:'保证金交纳截止时间',time:'2022-04-29 00:00:00'},{label:'公告结束时间',time:'2022-04-30 14:29:38'},{label:'竞价开始时间',time:'2022-04-28 00:00:00'},{label:'竞价结束',time:'2022-04-29 14:29:38'}]process = proc.原创 2022-04-27 10:47:00 · 356 阅读 · 0 评论 -
css使用伪类元素:after绘制三角形
实现效果如下: .ant-radio-wrapper-checked{ border-bottom: 2px solid #1890ff; position: relative; &:after { position: absolute; bottom: -16px; left: 40%; content: ' '; border: 8px solid transparent; border原创 2022-04-24 09:49:36 · 1808 阅读 · 0 评论 -
echarts legend图例显示数值和百分比
在legend中以回调函数形式配置formatter: formatter: function(name) { var data = option.series[0].data; var total = 0; var tarValue; for (var i = 0; i < data.length; i++) { total += data[i].value...转载 2022-04-13 15:46:28 · 6678 阅读 · 1 评论 -
vue中$ref取值有时是对象,有时是数组
在vue项目,$ref取值时发现,有时是对象有时是数组,以前没有注意到这个细节问题,今天又写了固定的ref名称,又写了for生成的ref名称。原因:vue中$ref取值,静态的ref读取到的是dom对象,而for循环生成得ref,读取到的dom对象是一个数组。官网解释:...原创 2022-04-07 10:17:17 · 1697 阅读 · 0 评论 -
vue过滤器将阿拉伯数字转化为汉字
numberfilter是过滤器的名称;关联项目{{index+1|numberfilter}}过滤器的写法:filters:{ //将阿拉伯数字转换为汉字的算法 numberfilter:function(num){ const changeNum = ['零','一','二','三','四','五','六','七','八','九']; const unit = ['','十','百']; num = parse转载 2022-02-21 15:35:25 · 668 阅读 · 2 评论 -
antd setFieldsValue给变量赋值
setFieldsValue({[(()=>变量名称)()]:值})let node = 'project_'+Number(i+1);this.meetingForm.setFieldsValue({[(()=>node)()]:this.meetingForm.getFieldValue("project_"+Number(i+2))})原创 2022-02-15 16:07:02 · 1346 阅读 · 0 评论 -
解决antd-vue表格批量操作选中框仍残留的问题
对数据批量操作成功,将选中的值selectedRowKeys值清空后,值虽然为空但是选择框依旧是选中状态,下面是解决方法操作成功后将值清空这样写就能将选择框原创 2021-11-13 21:31:51 · 2430 阅读 · 0 评论 -
vue递归组件
1、首先我们要知道,既然是递归组件,那么一定要有一个结束的条件,否则就会使用组件循环引用,最终出现“max stack size exceeded”的错误,也就是栈溢出。那么,我们可以使用v-if="false"作为递归组件的结束条件。当遇到v-if为false时,组件将不会再进行渲染。既然要用递归组件,那么对我们的数据格式肯定是需要满足递归的条件的。就像下边这样,这是一个树状的递归数据。 [ { "name": "黄焖鸡米饭111111111",转载 2021-09-18 16:46:22 · 432 阅读 · 0 评论 -
数组map遍历是否改变原数组的值
查map方法的时候,总能看到map方法不会修改原数组,会得到一个新数组并返回。但原数组真的不会修改吗?最近写代码的时候发现一个问题:进行下面操作之后原数组modal_content的值也被改变了。在网上搜了一下,原来是上面的map方法不够“纯粹”,实际上还是直接修改了每个item的属性,如果不想影响原数组,应该这样写:this.modal_beforeContent= modal_content.map((item)=>({...item,disabled:true}))我们对.原创 2021-09-18 10:07:26 · 2663 阅读 · 5 评论 -
js函数传参传入对象
var valueStr = JSON.stringify(row); //对象转字符串return "<button type='button' class='btn btn-sm btn-info' onclick='get_info("+valueStr+")'>详情</button>"原创 2021-07-07 16:45:00 · 996 阅读 · 0 评论 -
layer 弹出层全屏
let index=layer.open({ title:' ', type: 1, shade: false, skin: 'layui-layer-lan', //加上边框 content: $('#zgjzWrapper'), success:function () { }, cancel:function () { .原创 2021-05-17 11:45:01 · 1337 阅读 · 0 评论 -
JS递归树结构,修改树结构的属性值
后端返回的数据如下图,但我想要的是{id:999,text:'393'}这种的,后端不修改接口的话就只能我们自己对数据进行处理了const mapTree = org => { const haveChildren = Array.isArray(org.children) && org.children.length > 0; return { id : org.gxqdm, text: org.text, ..原创 2021-04-26 09:00:15 · 4407 阅读 · 1 评论 -
js全屏退出全屏
背景:video播放器默认的全屏后层级太高,想在视频全屏后在视频上方展示其他内容无法实现,看网上说的z-index取比video全屏默认最大的z-index=2147483647 更大就行 ,但是我试了之后还是没有效果,只能换种思路了,目前是禁用video自带的控制条,自定义控制条(video和想要在视频上方展示的div都要在设置全屏的div之下),可以实现想要的效果。不知道还有没有其他好的方法。由于是做实时直播,所以进度条暂停那些的我就不用了,只写了全屏和退出全屏js实现全屏和退出全屏f原创 2021-03-05 09:51:46 · 404 阅读 · 1 评论 -
video 取消默认的单击暂停视频
给video添加pointer-events: none;样式。video{ pointer-events: none;}原创 2021-03-05 09:21:39 · 1483 阅读 · 1 评论 -
vue-video-player播放m3u8格式的视频
一、vue-video-player的使用:1.安装npm i vue-video-player -D2.引入(组件内引入)import { videoPlayer } from 'vue-video-player'import 'video.js/dist/video-js.css'export default { name: "sstc", components: { videoPlayer },3.使用<video-player cla..原创 2021-02-23 08:35:02 · 7106 阅读 · 5 评论 -
解决使用jsencrypt进行RSA加密密文返回false
为了防止Web页面的敏感信息泄露,我们需要使用RSA加密算法对数据进行加密。常用的RSA加密库有:jsencrypt,jsrsasign,js-crypto-rsa,其中jsencrypt相对比较简单。使用方法:1.安装jsencrypt库npm install jsencrypt -D2. 页面引入jsencryptimport { JSEncrypt } from 'jsencrypt'加密方法getRsaCode :function(str){ // 加密原创 2021-02-22 16:43:12 · 11002 阅读 · 5 评论