自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaScript 基于HSL色彩空间随机生成区分度较大的颜色

在Vue项目开发中,由于图表上要显示的线较多,需要尽可能地生成一些对比较强的颜色,防止不同的线混杂在一起分辨不清,于是用js写了一个类来实现需求。js的原生随机方法Math.random()并不支持设置种子,因此需要根据线性同余法的原则写一个支持设置种子的随机数生成器。但是由于仍然存在随机到相似颜色的可能性,所以要设置好一个随机种子,每次执行随机都是同样的结果。可以通过index找到指定随机迭代次数的结果,也可以直接执行方法获得一个随机颜色。这里绑定默认的种子为2,也支持在创建类时手动输入。

2024-09-25 16:53:50 541

原创 Vue2/Element-UI 优化封装el-date-picker组件-github开源分享

基于Vue2及Element-UI的自定义封装组件

2024-09-24 11:01:23 983

原创 Vue2 子组件参数与父组件的双向绑定

在 Vue 2 中,通过props字段可以实现父组件向子组件的单向数据流,在父组件数据发生变化时,会实时地传递给子组件,而子组件无法修改父组件传递的数据。以下提出的部分方法为网上收集整理资料得出,未经实践,如有错误欢迎指出。

2024-09-23 13:58:08 831

原创 Vue2/element-ui el-table实现指定行的隐藏与显示,并自动根据显示的行数调整列表合并项

目标效果:根据el-checkbox组件绑定选择的属性,自动调整表项,以实现只显示选中的属性,并且自动调整列表合并项,以实现年份和属性的正确对应。

2024-07-29 11:05:02 639

原创 Vue2/Python 实现文件通过post接口上传到后端并进行读取

设置action='#',因为action中填入url之后,无法再自定义请求体的内容,只会把文件直接传输过去。实现思路:前端页面通过el-upload组件来上传文件,并通过接口将文件和其他数据打包发送到后端;后端通过pandas库的功能实现对文件的读取,并根据读取的数据进行一些具体的操作。为了实现点击创建按钮后触发上传,需要在按钮绑定的submitUpload方法中触发el-upload的提交。从options中读取file文件,若为多个文件上传,可以读取fileList来上传。

2024-07-23 18:13:44 563

原创 Vue2/Echarts 在加载时从缓存页面离开再返回后图表不能正常显示的问题以及图表自动随页面大小缩放功能实现

现有存放图表的页面A与一个其他页面B,A设置了keep-alive为true,在等待A页面数据加载时,切换到页面B,等待一段时间后再切回A,发现A中的除图表外数据都正常显示,图表不显示。由于图表在初始化过程中,需要读取dom元素的宽高以实现图表显示的渲染,但此时已经切换到其他页面,因此在读取dom元素的过程中出现了上述警告内容,并且渲染失败。在activated部分中,自动触发一次echarts图表对象的resize操作,即重新匹配dom元素的宽高。

2024-07-18 11:37:02 490

原创 vue2/Echarts 简单通过visualMap配置实现折线图线条区域变色

如果两个 piece 的区间重叠,则会自动进行去重。

2024-07-12 16:41:29 516

原创 vue2/Echarts 实现模拟slider缩放/拖动松手后触发事件效果

因为Echarts自带的datazoom事件只要拖动缩放条就会触发,过于频繁了,因此想要实现松手后再触发的效果,但Echarts组件内并没有这样的事件,网上也没有查到相关的使用,因此自己尝试用setTimeout函数来模拟了松手触发事件的效果。倒计时结束后,触发想要在松手后触发的事件(此处为reComputeData);若在设置的时间范围内重复触发,则将清除之前设置的倒计时,并重新倒计时;目标:实现图表数据在进行数据范围缩放或变化后进行数据的实时更新效果。在触发缩放事件时初始化一个计时器;

2024-07-12 16:22:39 723

原创 Vue2/js 将文件内容转化为Blob对象并创建下载任务

data属性中存放着文件内容,但是是字符串格式,需要转化为Blob(Binary Large Object:二进制大数据对象)后才能进行下载。document.createElement方法创建一个a元素。setAttribute方法定义类型为下载,并赋值文件名。通过调用接口获得了一个文件,格式如图。触发a元素的点击事件,进行下载。

2024-07-10 14:22:07 770

原创 Vue2/element-ui 实现el-table表头纵向显示效果

接下来的思路很简单:perf_yearly中的每一个元素对应一个属性在所有年份的值,因此按列打印即可;这样一来,perf_yearly的所有属性名与内部对象的属性名也成为了数组,存储在perf_yearlyColumnList与yearList中。此处涉及到在一个el-table组件内调用两个数组数据的操作:用插槽读取当前索引值,然后调用另一个数组来直接进行显示。如果perf_yearly中的对象内属性名并不相同,可以把prop设为index,通过索引而不是属性名来读取数据。

2024-07-09 15:25:07 1072

原创 Vue2/js 实现子组件向父组件通信以实现在router-view组件内的自动向下滚动

由于在子组件中自己实现滚动到底部的效果时,需要设置子组件页面自己的高度来允许滚动,导致在router-view视野下出现两个滚动条,很不美观,所以尝试使用$refs通信来实现对父组件页面元素的调用。最终实现自动检查当前是否已经滚动到底部,若在底部,则随日志更新时自动显示最新消息(滚动到底部),若不在则不进行任何操作。父组件在对组件实例进行绑定时,需要选择能滚动的元素来绑定,否则scrollTo方法会报错并失效。目标:通过$refs通信,实现子组件调用父组件,将页面自动滚动至最底部。

2024-07-09 14:38:59 535

空空如也

空空如也

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

TA关注的人

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