- 博客(35)
- 收藏
- 关注
原创 前端养成记-实现一个低配版简单版本的vue3表单自定义设计组件
通过使用了最新的vue3,vite2,TypeScript等主流技术开发,并配合使用vuedraggable 插件以及antd design vue 组件库实现低配版本的自定义表单设计组件;项目地址:https://gitee.com/hejunqing/vue3-antdv-generator。
2024-07-25 16:55:05
335
原创 javascript常用的正则表达式
电话号码正则表达式(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号): ((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
2024-07-09 16:27:40
751
原创 前端计算网络常识
if-Modified-Since/if-None-Match (最后修改时间)、 Last-modified/Etag (指纹)HTTP 协议的请求报文和响应报文的结构基本相同,由三部分组成。Head-of-line blocking, HTTP/1.1中采用了管线化的方式,对一个。DNS 是Domain Name System的缩写, DNS 服务器进行域名和与之对应的 IP 地址转换的。1996年 HTTP/1.0 增强了 0.9 版本,引入了 HTTP Header(头部)的概念,传输的数据。
2024-07-09 16:07:04
551
原创 初步学习TypeScript
因为 TS 是结构化类型系统,只检查 Point 和 Point2D 的结构是否相同(相同,都具有 x 和 y 两个属性,属性类型也相同)解释:使用交叉类型后,新的类型 PersonDetail 就同时具备了 Person 和 Contact 的所有属性类型。解释:将类型修改为 Type[](Type 类型的数组),因为只要是数组就一定存在 length 属性,因此就可以访 问了。● JS 有类型(比如,number/string 等),但是 JS 不会检查变量的类型是否发生变化。
2024-07-09 15:49:55
870
原创 history对象的使用
需要注意的是,仅仅调用pushState方法或replaceState方法 ,并不会触发该事件,只有用户点击浏览器倒退按钮和前进按钮,或者使用JavaScript调用back、forward、go方法时才会触发。HTML5为history对象添加了两个新方法,history.pushState()和history.replaceState(),用来在浏览历史中添加和修改记录。● go():接受一个整数作为参数,移动到该整数指定的页面,比如go(1)相当于forward(),go(-1)相当于back()。
2024-07-09 13:55:22
310
原创 记录使用vue3+typescript+ant-design-vue踩坑组件缺少类型报错
原因:在tsconfig.json中,"exclude"选项用于指定应该排除在TypeScript编译过程中的文件或目录。在这个特定的例子中,“exclude”: [“node_modules/ant-design-vue/lib/**”]的作用是排除Ant Design Vue库中的源代码文件。虽然不影响代码的运行,但是看着那红色的下划线就让人很抓狂,于是经过了努力的查找问题所在点终于找到了问题点处在“直接排除整个的ant-design-vue组件库,就不会去针对对应的组件去进行ts编译;
2023-07-24 23:51:52
953
原创 vue3+qrcode插件实现下载二维码图片(.png、.svg格式)
注释:qrcode可通过canvas的toDataURL方法下载对应的png图片,比较恶心的是下载svg格式(必须记录一下)这里暂未实现封装,感兴趣的可以自己考虑一下封装。
2022-12-13 18:22:46
2196
原创 Admin Pro 去除水印
将import { default as WaterMark } from ‘@/components/watermark/index.vue’;找到src/layouts文件夹目录下的index.vue。同时将组件也注释掉WaterMark,
2022-08-19 16:30:09
579
转载 element的弹窗滚动条重置问题
element的弹窗滚动条重置问题弹窗出现滚动条的时候滚动到最底下,下次在点开的时候还在最底下,可以通过以下方式解决<el-dialog :title="formTitle" :visible.sync="dialogFormVisible" :lock-scroll="false" //主要是这个属性 :append-to-body="true" //跟这个属性 :close-on-click-modal="false" width="10
2022-05-27 11:43:22
1310
原创 ES5/ES6较常用的数组遍历方法
数组的常见方法map (some, every, filter,forEach) es5find findIndex --es6reduce (遍历两两相加方法) 收敛 叠加for of();Array.form 配合new Set() 实现数组去重keys,values,entries --es6新提供的遍历方法reduce 返回的结果是叠加后的结果函数的返回结果会作为下一次循环的prevlet result = [1,2,3,4,5].reduce((prev, nex
2021-11-26 10:53:16
687
原创 使用vue框架直接上传文件到七牛云的过程
前段时间刚好做到这个需求在这里记录一下希望能帮助到大家!首先可以先看看七牛云的开发者中心:七牛云开发中心我这里是使用vue3.x+ts框架开发的按照文档所说我们需要先安装一下七牛云的SDKnpm install qiniu-js然后在页面上引入:const qiniu = require('qiniu-js')// orimport * as qiniu from 'qiniu-js'使用的是antd的上传组件:(我给封装起来了:UploadDragger)<a-drawer
2021-11-25 11:28:09
3796
原创 js转换文件的size由KB转换为B、MB、GB
// 单位转换export function bytesToSize(sizes) { let mYsize = sizes if(mYsize == 0) return 0 + 'B'; if(mYsize < 0.1){ // 小于0.1KB转换为B mYsize = parseFloat((mYsize * 1024).toFixed(2)) + 'B' }else if(mYsize > (0.1 * 1024) ){ // 大于0.1MB转换为MB m
2021-11-25 09:57:18
1335
原创 处理后端返回的文件地址转换进行下载
function download (href, name) { // 通过ajax重新请求文件地址传入blob类型 const xhr = new XMLHttpRequest() xhr.open('GET', href, true) xhr.responseType = 'blob' xhr.onload = () => { if (xhr.status === 200) { saveAs(xhr.response, name) } } x
2021-11-25 09:54:38
218
原创 文件上传md5计算
安装spark-md5import SparkMD5 from ‘spark-md5’import SparkMD5 from ‘spark-md5’; // md5计算引入// 获取apk的md5var fileReader = new FileReader()var spark = new SparkMD5() // 创建md5对象(基于SparkMD5)fileReader.readAsBinaryString(myfile) // myfile 对应上传的文件// 文件读取完毕之后的
2021-11-25 09:52:16
1541
原创 根据element改造的文件预览组件:支持图片、doc、xlsx、ppt、PDF、视频等文件预览
element-ui框架的预览只能预览图片,其他文件不支持,不支持就自己封装一个吧,前提条件后端返回的文件预览支持访问首先在component中新建文件:FilePreview.vue:内容如下<template> <!-- 预览组件 --> <div class="FilePreview"> <div class="container"> <!-- 渲染层 --> <div class="obje
2021-09-28 11:42:05
3159
11
原创 vue-element-admin项目表格单元格多行文字单独做省略并文字提示组件
针对element表格使用el-tooltip时不管文字是否省略都会提示的解决首先创建TextTips.vue文件,直接上代码:<template> <!-- 文字提示 --> <div class="TextTips"> <el-tooltip placement="top" v-if="TextWidth > TotalWidth"> <div slot="content"> <spa
2021-09-28 11:06:59
445
转载 vue 实现一个滑块拖动验证功能
vue 实现一个滑块拖动验证功能具体的代码如下:<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style scoped> .drag { border-radius:30px; po
2021-05-13 09:07:36
500
转载 vue element ui input 正则验证,限制只能输入数字和小数输入
验证只能输入数字oninput="value=value.replace(/[^\d]/g,'')"1验证只能输入数字和小数,小数且只能输入2位,第一位不能输入小数点oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$
2021-04-23 09:20:49
8485
转载 elementUI组件el-input输入框只能输入数字或保留两位小数
只能输入数字的两种方法:方法一:使用type=“number”<el-input v-model.number='count' type='number' maxlength='9'/>缺点:maxlength不生效可以输入e可以输入小数点方法二:使用正则表达式<el-input v-model.number='count' oninput="value=value.replace(/[^\d]/g,'')" maxlength='9'/>其中v-model.n
2021-04-21 14:27:31
18948
2
转载 对ES6 Promise 的理解
复杂的概念先不讲,我们先简单粗暴地把Promise用一下,有个直观感受。那么第一个问题来了,Promise是什么玩意呢?是一个类?对象?数组?函数?别猜了,直接打印出来看看吧,console.dir(Promise),就这么简单粗暴。这么一看就明白了,Promise是一个构造函数,自己身上有all、reject、resolve这几个眼熟的方法,原型上有then、catch等同样很眼熟的方法。这么说用Promise new出来的对象肯定就有then、catch方法喽,没错。那就ne..
2021-04-12 11:37:07
92
原创 Vue Element 去除input前后空格
Vue Element 去除input前后空格在el-input中可以使用v-model.trim来去除内容中的前后空格<el-input type="textarea" placeholder="请输入报表名称" v-model.trim="formData.name" maxlength="50">
2021-04-03 11:17:16
1234
转载 vue打印文件(v-print)
Vue打印文件(v-print)Vue v-print打印文件。下载安装插件npm install vue-print-nb --save引入注册在app.js或main.js中引入//打印文件import Print from 'vue-print-nb'Vue.user(Print)使用HTML 部分<div id="single-info"> <el-form label-width="160px"> <el-row alig
2021-03-28 16:30:21
4106
翻译 vue将文件/图片批量打包下载
安装插件npm install jszipnpm install file-saver在vue文件中使用import JSZip from'jszip'import FileSaver from'file-saver'2.调用方法//通过url 转为blob格式的数据getImgArrayBuffer(url){ let _this=this; return new Promise((resolve, reject) => { /
2020-11-03 22:05:35
1941
4
原创 vue项目中页面使用a标签下载static中的文件 本地可以,部署到服务器上不行 踩的抗
问题:vue项目中页面使用a标签下载static中的xls文件本地可以,部署到服务器上不行错误写法:<aclass="button-style"href="../../static/file/QuestionsSample.xls">导致服务器访问路径错误改成:<aclass="button-style"href="./static/file/QuestionsSample.xls">解决 将本地的文件下载路径...
2020-07-01 23:57:53
2763
原创 如何获取到element ui 中Cascader 级联选择器里label的值
给 cascader 组件一个别名,然后用 this.$refs[关联组件名].currentLabels 就能取到选中的 labelshttps://www.jianshu.com/p/29b...<el-cascader ref="myCascader" placeholder="可输入地区名字搜索,例如:北京" @change="onProvincesChange"></el-cascader>
2020-06-08 09:05:59
2568
7
原创 vue:element.ui中两日期时间范围选择在同一个月内
copy的一份代码,做个笔记此功能只适合选择一个月内任意日期,不能跨越到下个月,最长为30天。在pickerOptions里写下面的代码:onPick: ({ maxDate, minDate }) => { this.choiceDate = minDate.getTime() if (maxDate) { this.choiceDate = '' }},disabledDate: (time) => { const
2020-06-01 00:48:04
2484
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人