web
mySunshine921
If you bloom, the butterfly will come
展开
-
接口url传参包含完整路径传参处理
在这里的解决方式是将传参路径加密传参,后端也需要解密。原创 2023-05-31 10:18:39 · 310 阅读 · 0 评论 -
vue的extend使用
vue extend原创 2023-03-31 16:14:59 · 229 阅读 · 0 评论 -
前端扩展机制思考
2.template模板里面的内容后台返回,动态渲染,(这里有个疑问,动态渲染只是更改了页面的结构,生命周期以及methods里面的方法怎么调用,更改,还有样式的新增)1.每个页面模板编号,比如唯一的id。原创 2023-03-16 16:26:12 · 87 阅读 · 0 评论 -
div比img标签高4px
css样式问题原创 2023-02-14 14:19:57 · 126 阅读 · 0 评论 -
数组含有空位元素判断
【代码】数组含有空位元素判断。原创 2022-12-21 19:34:38 · 105 阅读 · 0 评论 -
ico图标制作
ico制作原创 2022-11-16 15:36:32 · 327 阅读 · 0 评论 -
接口请求传参body里面是个字符串
接口传参原创 2022-10-31 19:06:02 · 660 阅读 · 0 评论 -
SRI使用攻略
SRI使用注意项原创 2022-06-29 09:34:45 · 598 阅读 · 0 评论 -
vue+element国际化,i18n使用
1.安装elementcnpm i element-ui -S2.安装i18ncnpm install vue-i18n cnpm i vue-i18n -S创建lang目录zh.jsexport default { message: { emptyroutes: "暂无权限,请联系管理员。", browserWarning: "我们注意到您使用的是过时的internet explorer版本。", browserDesc: "IGO在该IE内核的浏览器上原创 2022-01-17 10:14:00 · 362 阅读 · 0 评论 -
vue接口返回数据页面没有重新渲染
页面初始值models为空对象,接口返回赋值后,页面没有重新渲染解决两种方式:一:this.$set(obj, key, value)this.$set(this.models,item.propcode,item.propvalue)这种方法试了下,输入框的值回显了,但是上传的文件没有二:Object.assign(target, sources)this.models=Object.assign({}, this.models)这种的上传文件也是不显示三:还是用的老方法,声明一.原创 2021-12-15 17:18:28 · 2373 阅读 · 0 评论 -
接口导出表格
async formExport(){ let searchdata = deepClone(this.searchform); if(searchdata.companyidlist.length == 0){ searchdata.companyidlist.push(this.$ls.get("user").companyId); } let url=`${APP_IGO_A原创 2021-12-04 10:38:37 · 537 阅读 · 0 评论 -
vue+element的el-form使用
import { checkStrong } from "@/untils/checkPwdStrong";data(){const validatePassword = (rule, value, callback) => { if (value === "") { callback(new Error('密码不能为空')); } else if(this.isStrong == false){ .原创 2021-12-04 09:36:54 · 1827 阅读 · 0 评论 -
vue路由
问题:跳转页面,路由不变,参数变化,页面created方法不触发解决:监听路由变化,参数变了也触发原创 2021-09-21 15:53:41 · 71 阅读 · 0 评论 -
el-date-picker
1.问题element中使用el-datePicker日期选择器有默认时间时修改时间不生效,change事件也不执行解决看到一篇文章里说:解决方式是深拷贝从父组件传递过来的数据,拷贝后的数据不带有__ob__: Observer属性,并且页面的时间也能修改了,change方法也可以触发了。...原创 2021-09-07 15:02:38 · 703 阅读 · 0 评论 -
cryptoJs使用
1.cryptoJs加解密import cryptoJs from "crypto-js";let keyOne = '秘钥自己写一个'const iv = cryptoJs.enc.Utf8.parse('ABCDEF1234123412'); //十六位十六进制数作为密钥偏移量export default{// 加密函數 jiami (word) { let key = cryptoJs.enc.Utf8.parse(keyOne) let enc = '' i原创 2021-07-14 17:22:15 · 1713 阅读 · 0 评论 -
el-upload
1.上传文件必填上传成功的回调函数执行一下this.$refs.elupload.clearValidate();原创 2021-07-13 16:26:54 · 455 阅读 · 0 评论 -
js处理对象
接口返回数据是这样的实际页面展示的样式可能表格在上面,基本信息在下面,需要处理一下数据sortObj(){ //对象转换成数组 let arr = []; let obj=this.billData; for (var i in obj) { arr.push([obj[i],i]); }; //交换位置 a原创 2021-07-10 15:09:59 · 298 阅读 · 0 评论 -
vue中el-image-viewer大图预览的使用
需求:上传格式不限,要求文件可以预览以及下载,word、zip等格式预览不要求,图片要能预览解决:引入组件import ElImageViewer from 'element-ui/packages/image/src/image-viewer'components: { ElImageViewer },点击按钮弹窗大图预览<!--大图预览--> <el-image-viewer v-if="showViewer"原创 2021-07-08 10:20:12 · 3529 阅读 · 0 评论 -
offsetParent is not set报错
问题描述:tab切换,使用上传文件pdf预览的时候,出现报错,解决方法:因为这里的tab切换,pdf组件有个显示隐藏的过程,所以出现这个错误,用v-if控制,tab切换到这一项的时候重新渲染。原创 2021-06-29 17:23:00 · 2332 阅读 · 0 评论 -
校验规则reg
if (/\d/.test(sValue)) modes++; //数字 if (/[A-Za-z]+/.test(sValue)) modes++; //小写或者大写 if (/[A-Z]/.test(sValue)) modes++; //大写 if (/[a-z]/.test(sValue)) modes++; //大写 if(/\W/.test(sValue)) modes++; //特殊字符 let res=new RegExp("^(?=....原创 2021-06-24 18:50:29 · 330 阅读 · 0 评论 -
vue+el-upload的使用
需求:上传文件的时候需要添加参数方法:用的el-upload的http-request覆盖自定义上传用formDatauploadlist只展示默认上传的文件,新上传的文件没有同步,所以我在上传成功的时候push一下,在这里接口返回fileid,我要把fileid与uid关联起来,uid是el-upload自带的删除回调参数file里面的,删除方法需要fileid...原创 2021-05-26 11:13:52 · 1320 阅读 · 0 评论 -
element级联选择器Cascader的配置
<el-cascader expand-trigger="hover" :options="biddocLocationList" :props="defaultParams" :show-all-levels="false" v-model="scope.row.biddoclocation" > </el-cascader>props参数配置:刚开始配置,从接口获取参数我是按照上面的方式转化成Cascader要求的数据结构,后来发现pro原创 2021-05-19 09:08:46 · 843 阅读 · 0 评论 -
vueRouter
//获取对应参数 getUrlKey(name) { return ( decodeURIComponent( (new RegExp( "[?|&]" + name + "=" + "([^&;]+?)(&|#|;|$)" ).exec(location.href) || [, ""]原创 2021-05-15 09:31:44 · 59 阅读 · 0 评论 -
js手机号中间几位用*代替
let str1 = "手机号"; let reg = /^(\d{3})\d*(\d{4})$/; this.contactphone = str1.replace(reg,'$1****$2');原创 2021-05-14 09:59:58 · 337 阅读 · 0 评论 -
el-table展开行动态获取数据
包含子节点列数与父节点不一致,用的el-table的type="expand"来实现的,嵌套表格通过expand-change事件动态获取展开行的数据,动态加载,为防止dom数据渲染不同步问题,在获取表格数据的时候,先给他追加数据项点击展开收起的时候请求数据...原创 2021-05-08 09:04:02 · 2551 阅读 · 0 评论 -
async的应用
因为this的指向,用的箭头函数,用function是不可以的用await,当前函数外面加async原创 2021-05-07 08:46:20 · 86 阅读 · 0 评论 -
原生js选择器
//获取第一个domlet cell=document.getElementsByClassName('current-cell')[0];//获取第一个子元素let child= cell.firstChildlet child= cell.children[0]//获取子元素的子元素的节点名称let child= cell.firstChild.firstChild.nodeName; //SPAN注:firstChild 获取的子元素包括换行和空格,firstElementChil原创 2021-05-06 10:26:49 · 936 阅读 · 0 评论 -
vue启动项目自动打开网页
有的项目可能没有config这个文件夹,没有的话就试试下面的方法吧在根目录创建vue.config.jsmodule.exports = { devServer: { host: 'localhost', //本地 port: 8080, //端口号 open: true //默认false true自动打开 }}...原创 2021-05-01 10:17:44 · 1048 阅读 · 0 评论 -
vue单独给父页面添加样式
1.需求:在当前子页面父页面样式是不带阴影的,跳转到其他页面,父页面还原,带有阴影解决思路:在当前子页面找到父页面的dom元素,设置样式,在desteoyed周期还原,不影响其他页面原创 2021-04-27 09:32:27 · 825 阅读 · 0 评论 -
vue+element
1.select绑定默认值2.接口字段返回0,1…枚举值,显示对应内容处理3.table表格默认选中第一行表格数据发生变化的时候,中间有个过程val值为null,所以用上面的处理方式,不然报错4.table单元格可编辑handleCellClick(row, column, cell, event){ for(let i=0;i<document.getElementsByClassName('current-cell').length;i++){原创 2021-04-22 14:47:18 · 890 阅读 · 0 评论 -
滚动条的设置
1.每次用滚动条的美化都得搜索一次,在这里记录一下::-webkit-scrollbar { /*滚动条整体样式*/ width : 10px; /*高宽分别对应横竖滚动条的尺寸*/ height: 1px; }::-webkit-scrollbar-thumb { /*滚动条里面小方块*/ border-radius: 10px; box-shadow : inset 0 0 5px rgba(0, 0, 0, 0.2); background : #5353原创 2021-04-13 17:13:18 · 431 阅读 · 0 评论 -
vue路由守卫
router.beforeEach((to,from,next)=>{ if ( to.path === "/login" ) { next({ path: "/portal" }); }})to:进入到哪个路由去from:从哪个路由离开next:路由的控制参数,常用的有next(true)和next(false)引入到main.js...原创 2021-04-12 15:36:00 · 132 阅读 · 0 评论 -
@babel/polyfill
npm install --save @babel/polyfill可以用一些es6的语法原创 2021-04-08 13:44:29 · 739 阅读 · 0 评论 -
canvas水印
drawWater(shopName,shopCode){ let canvas = document.createElement('canvas'); canvas.height = canvas.width = '200'; let ctx = canvas.getContext("2d"); ctx.clearRect(0, 0, 200, 200); //绘制之前画布清除 ctx.font = "32px 黑体";原创 2021-04-01 17:25:33 · 246 阅读 · 0 评论 -
数组根据某个元素排序
videoList=[{"workvideosize": 1233561,"settop": 0,"offline": 0,"createtime": "2021-02-24 15:39:06"}]//时间正序 _this.videoList.sort(function(a,b){ return Date.parse(b.createtime) - Date.parse(a.createtime);//时间正序 });...原创 2021-02-25 11:31:51 · 563 阅读 · 0 评论 -
vue的js应用
1.数组合并filter返回的是数组concat 合并数组2.计算属性参数的传递方式computed 计算属性{{num}}左边选中的个数优化:可以传参返回的是个方法就可以传参{{num(leftData,true)}}3.闭包的应用原创 2021-01-13 11:27:20 · 107 阅读 · 0 评论 -
判断当前打开的是手机还是pc浏览器还是微信浏览器
第一种:// if ( // window.navigator.userAgent.match( // /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i // )原创 2021-01-07 15:39:31 · 1556 阅读 · 2 评论 -
ts的小知识
1.联合类型2.数组类型的定义3.接口4.可选属性(可有可无,有必须符合他的类型)5.任意属性proName:变量string:变量的类型any:接收的是任意类型注:添加了任意属性,可以添加多个void:表示这个函数无返回值参数有默认值参考:听直播课整理...原创 2021-01-06 11:40:51 · 486 阅读 · 0 评论 -
前端跨域问题
谷歌插件 解决前端跨域原创 2020-12-30 13:45:17 · 98 阅读 · 0 评论 -
layui.photos()动态加载图片报错的原因
修改的layer.js点击出现相册集,上传动态添加的图片,明白了报错src undefined的问题。因为只有在我们点击了已经存在着的照片的时候,新加进去的照片才会被发现,被photos.data这个数组所容纳。所以如果你直接点击新加进去的图片,自然是undefined出现这种情况,所以修改的layer.js...原创 2020-12-29 16:09:13 · 1028 阅读 · 0 评论