自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 动态展示滚动条并防止 页面闪烁

实现鼠标移入展示滚动条,鼠标移出消失。

2025-03-18 11:00:41 130

原创 前端导出pdf,所见即所得

根据具体需求选择方案:需要快速实现选择方案一,注重文字质量选方案二,企业级应用推荐方案三。

2025-02-07 15:37:24 416

原创 本地部署并使用DeepSeek

需注意的是,这里我们需要根据自己电脑的硬件配置来选择模型大小,下面是一个模型大小配置参考表格,大家可根据自己的电脑配置来自行选择,当然了,部署的本地模型越大,使用的深度求索效果就越好。安装后cmd执行ollama,出现如下图所示,代表安装成功。这里默认下载的是 7B 的。3.使用deepseek。ollama网址中查看。下载过程比较长...

2025-02-06 15:46:55 527

原创 js工具函数之人民币金额转大写

效果如图,这个方法已经考虑到了浮点数精度问题。话不多说,直接上代码。

2025-01-15 16:34:37 178

原创 页面加载或路由切换时显示顶部进度条,超简单!

NProgress是一个轻量级的进度条库,常用于在页面加载或路由切换时显示顶部进度条。以下是NProgress。

2025-01-13 19:50:28 342 1

原创 node版本管理工具之 nvm使用最简单教程!亲测可行

如果安装不成功,查看之前自己安装的 node.js 有没有彻底删除、安装nvm过程中有没有漏掉什么,可重新卸载再安装一次nvm包。安装完成后可以分别输入命令行 node -v 和 npm -v,检验node.js以及对应npm是否安装成功。1.首先安装nvm之前要确保目前没有安装任何版本的node,如果安装了要卸载之后再开始。【如未指定版本,建议安装LTS下的版本】包括设置的node环境变量以及安装目录下node相关的文件,具体如下。查看当前已安装的node.js版本,带*号的是正在使用的。

2025-01-13 14:46:58 492

原创 css小知识:如何使用字体包

先看效果,图一使用了字体包,使用字体包和没有使用字体包的区别还是很大的使用方法:1.首先你得有字体包的文件,实在没有也可以搜索一些标准版字体可以直接用,但美观度一般,如果需要可以滴我发送源文件,文件如下图这样:拥有文件之后,一般情况下把这个文件放在项目目录的\src\assets\fonts目录下放好之后就可以在页面使用了通过上面的形式声明字体,可以自定义字体名称,然后引入字体文件,接着就可以使用啦!

2025-01-09 11:56:28 719

原创 基于Ant-design的图标库开发自定义图标选择器组件(支持搜索),适用于vue项目

这里的气泡弹框和分页器用的是Arco-design组件库的,可以替换成自己目前项目正在使用组件库的气泡弹窗以及分页器。data.ts 图标名称数据。

2025-01-08 16:18:38 618

原创 一篇文章讲清楚Grid布局!

‌Grid布局‌是一种强大的CSS布局模型,它将页面划分为行和列,形成网格,用于定义页面中不同区域的大小、位置和层次关系。Grid布局与Flex布局有一定的相似性,但Flex布局是轴线布局,只能指定"项目"针对轴线的位置,主要是一维布局,而Grid布局则是二维布局,能够同时控制行和列的布局,非常适合创建复杂的网格结构。‌

2025-01-08 13:43:03 1297

原创 纯手写时间轴组件

组件包含处理时间、流程节点、流程状态、处理用户、可处理用户(鼠标移入显示)、审批意见、驳回意见。

2025-01-07 14:52:38 253

原创 relation-graph绘制关系图、树图自定义工具栏

【代码】relation-graph绘制关系图、树图自定义工具栏。

2025-01-06 13:58:51 436 1

原创 一篇文章讲清楚flex布局!

​‌Flex布局(Flexible Box Layout),简称“弹性布局”,是一种灵活且强大的CSS布局方式,旨在提供一种更有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间‌。‌​

2025-01-06 10:55:17 1579

原创 封装好看的饼图

用到了之前写的写好的echarts钩子。pieChart.vue组件。饼图颜色数组支持传入。

2025-01-02 14:55:10 116

原创 系统页签功能,包括右键关闭全部、关闭其他等功能

其中BetterScroll组件是支持页签过多时可拖拽的组件,不需要可以去掉。页签是封装了Tab组件实现的。

2025-01-02 11:17:41 143

原创 使用vue-flow绘制动态流程图并自定义节点和线(包括自定义markerEnd)附全部源码

x坐标:节点层级*节点宽度+节点横向间隔;y坐标:节点层级*节点高度+节点纵向间隔。

2025-01-02 10:44:52 2805

原创 一个 Vue 钩子 useEcharts,用于在 Vue 组件中集成 ECharts 图表库

使得在 Vue 组件中集成和管理 ECharts 图表变得更加简单和灵活。它支持动态更新图表配置、响应尺寸变化、切换主题等功能。这个文件提供了一个方便的 Vue 钩子。

2024-12-16 14:18:26 278

原创 使用relation-graph插件绘制自定义树图

Node为自定义节点。

2024-10-24 15:50:11 643

原创 arcoDesign、antDesign下拉框组件全屏后弹出层消失问题解决

最近碰到数据可视化页面需要全屏的功能,但是全屏之后arcoDesign组件的下拉框点击之后无法出现下拉选项。如果是arcoDesign组件,使用popup-container属性传入元素类名。如果是antDesign组件,使用getPopupContainer属性。原因:下拉框的下拉部分父节点默认是body,全屏后body元素被挡住了。将下拉框的父节点指定为当前组件的根元素。

2024-10-24 15:25:22 586

原创 ref、reactive、toRefs、toRef、unref的用法

1.ref 用来定义双向响应式数据(一般用来定义原始数据类型),数据发生变化页面上会同时响应。没有使用toRefs时,直接解构出current,数据发生变化时,页面没有更新。解构时将对象使用toRefs包裹,数据是响应式的,数据变化,页面也会发生变化。2.reactive 用于初始化响应式数据(一般用于引用数据类型)3.通过toRefs遍历引用数据类型,将对象的属性改为响应式数据。对比不适用ref的情况:数据发生变化,但页面未变。

2024-09-04 10:46:37 363 1

原创 使用<component>标签优雅的处理动态组件,实现条件渲染不同组件的效果

这里我将自定义组件单独在一个ts文件引入,并将componentMap设置为Map结构,通过变量flowNode的值使用get方法去匹配componentMap中对应的自定义组件,属性绑定之后即可生效,方便后期维护。记得引入componentMap。

2024-09-02 16:43:01 438

原创 前端在上传文件时,修改文件名称

在一些特定的使用场景中,可能会需要前端在上传文件时修改文件的名称之后再传给后端,而文件名在创建对象时确定,‌并且不可更改。‌若需“修改”文件名,‌实际上是需要创建一个新的。可以看到,上传的文件名已经修改,只需要把修改后的file对象传给后端就可以了。对象,‌指向新的文件名,‌或者对文件系统进行操作以重命名文件。2.上传文件组件绑定change事件,在方法中修改文件名称。

2024-08-30 17:31:51 727

原创 通过window.navigator.userAgent判断当前访问系统的用户是移动端还是pc端

1.公共判断当前访问系统的用户是移动端还是pc端方法。

2024-08-29 11:59:14 514

原创 arco-design表格二次封装,支持表头配置和表格导出,并增加插槽支持扩展

【代码】arco-design表格二次封装,支持表头配置和表格导出,并增加插槽支持扩展。

2024-08-26 11:31:36 801

原创 前端通过proxy代理解决跨域问题

原理:客户端请求服务端的数据存在跨域问题,而服务器和服务器之间可以相互请求数据,没有跨域的概念(前提是服务器没有设置禁止跨域的权限问题),也就是说,可以配置一个代理的服务器请求另一个服务器中的数据,然后把请求出来的数据返回到代理服务器中,代理服务器再返回数据给我们的客户端,如此即可实现跨域访问数据。1.配置baseURL(即下面代码段中的 VITE_API_BASE_URL = /api,作用是我们每次发送的请求都会带一个/api/的前缀。2.配置代理(vite.config.ts文件)

2024-08-23 16:48:21 506

原创 antv/x6使用vue组件渲染节点

需要注意的是,x6 的版本要和 x6-vue-shape 的版本匹配,也就是两个包需要用同一个大版本。1.antv x6 提供了一个独立的包。2.注册vue节点,并创建流程图数据。来使用 Vue 组件渲染节点。

2024-08-22 10:33:20 2249

原创 antvX6使用分享(绘制流程图)

1.安装依赖2. 开始使用。

2024-08-22 09:57:26 2099

原创 form表单提交文件(调接口传文件类型数据)

2.当用户选择文件后,使用组件的change时间获取文件信息,并将其中的文件对象存在form表单的对应的数据中。3.提交时一并传给后端,注意:后端接受数据格式为form-data,要转一下。1.首先form表单中添加选择文件组件。

2024-08-20 15:07:31 623

原创 使用render函数通过createVNode创建虚拟dom

说明:我这里使用的是arco-design组件库,不同组件库属性名可能不一样,自行修改即可,例如这里的dataIndex在element中应该是prop。以表格为例:在开发中可能需要对某一列进行特殊处理,可以使用render函数通过createVNode创建虚拟dom。直接看表格column配置,

2024-08-08 15:39:48 348

原创 通过createVNode创建dom并传自定义组件和自定义方法

其中getColumns是表头的配置,因为要传入操作的方法,所以是函数形式,传入的方法columnActions是一个对象。1.应用场景:表格自定义列和操作列。

2024-08-08 15:29:34 377

原创 使用Animate.css插件快速实现css动画,超简单教程

(1)首先去官网选择喜欢的动画并复制,此时复制的是动画类名。2.安装Animate.css插件。3.在main.js文件中引入插件。

2024-08-07 15:34:36 1039

原创 vue3+vite项目通过unplugin-auto-import插件实现自动引入

重启项目后会发现会自动生成一个叫做auto-imports.d.ts的文件。未使用时需要手动引入ref、reactive等。2.修改vite.config.js配置。

2024-08-01 10:48:07 711

原创 sortablejs实现可拖拽排序表格

sortablejs是功能强大的JavaScript 拖拽库。2.以拖拽表格为例,先在模板中写一个表格。1.安装sortablejs。

2024-07-31 22:02:18 586

原创 vue3+vite项目配置@代替src路径(~代替src路径)

2.在项目的vite.config.js文件中增加配置。1.首先安装path包。

2024-07-31 21:47:40 857 1

原创 基于vant开发可排序表格

其中Card组件是我自定义的卡片组件,删掉即可,不影响表格功能。表头是div,下面是van-list。

2024-04-10 13:30:09 2201 4

原创 echarts雷达图每个维度比例不一致问题

首先,使用echarts绘制雷达图时,在options里面会有一个radar属性,该属性的indicator属性为雷达图的每一个轴上的信息,包括name,max,min,分别设置每个轴上的min和max都一样就可以实现等比例了,注意:如果数据中有负值,只设置max会出现图形胡乱,因为默认min为0。我这里雷达图的数据是根据下拉框请求得到,在获取数据之前并不知道max和min的值,所以要在请求里面计算。这里为了图形相对美观,最大值取了数据最大值的120%,最小值也是。

2023-11-14 14:22:32 2597

原创 Echarts折线图x轴增加时间滚动条

filterMode: 'filter', //间滚动条的过滤模式,'filter'表示滑动时间条时会直接过滤掉不在时间范围内的数据,'weakFilter'表示滑动时间条时会逐渐过滤掉不在时间范围内的数据。type: 'slider', //type的作用是指定数据缩放的类型,slider表示使用滑动条进行缩放,inside表示使用鼠标滚轮进行缩放。xAxisIndex: 0, //作用在x轴的下标(因为x轴可以有多个)start: 0, //默认开始位置(百分比)

2023-04-13 16:42:15 3830 1

原创 树形控件加入筛选功能(弹窗中实现)

filter-node-method :树节点是可以被过滤的,其值为过滤函数,对树节点进行筛选时执行, 返回false则表示这个节点会被隐藏。node-key:每个树节点用来作为唯一标识的属性,整棵树应该是唯一的,设置目前勾选的节点或者特殊场景需要使用。.getCheckedNodes(true, false) 可以获取选中的子节点。empty-text 内容为空的时候展示的文本,可以设置为加载中或者数据为空。show-checkbox:节点是否可被选择,默认值false。设置默认展开和默认选中的节点。

2023-03-17 14:56:41 1507 4

空空如也

空空如也

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

TA关注的人

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