js
粉末的沉淀
无趣
展开
-
JavaScript:阻止默认行为导致所有输入框无法输入内容
每次解决一个问题,又会遇到新的问题,最近都是忙着改大屏设计器,加容器组件,眼看着要完成了,突然遇到一个大问题,表单的输入框突然全部无法输入数字和英文,搜了很多类似情况,大多数说是v-model绑定的变量没有初始化,还有的是因为表单绑定了pinia,一一排查后,都不是我的情况。大屏设计器组件可以用键盘上下左右键来控制移动,我发现按上下键的时候,页面会滚动,所以就加了阻止默认行为,这下页面不滚动了,但是导致了输入框无法输入内容这么严重的问题。希望这篇博客对大家有所帮助,毕竟突然无法输入了,还是挺着急的。原创 2024-04-23 11:24:15 · 323 阅读 · 0 评论 -
jeecgboot:在index.html引入js的路径设置
注意不要写成../../这种格式,这种格式在本地运行完全正常,但是打包后就会报错。原创 2022-04-14 12:23:32 · 556 阅读 · 0 评论 -
JavaScript:使用xlsx-style插件导出多个sheet
参考:JavaScript:在vue里使用xlsx-style插件创建带样式的excel文件_粉末的沉淀的博客-CSDN博客<template> <div style="width: 400px; margin:100px auto;display: flex;justify-content: space-around;" > <button @click="exportExcel">导出单个sheet</button> <butto原创 2022-04-14 10:38:47 · 1566 阅读 · 1 评论 -
JavaScript:在vue里使用xlsx-style插件创建带样式的excel文件
前面有一篇博客写了利用a标签生成excel文件,虽然简单,但不算太完美。JavaScript:利用a标签生成excel文件_粉末的沉淀的博客-CSDN博客在看了N多文章尝试了N多次后,终于找到了合适我的方法。1、xlsx和xlsx-style的关系两者都可以实现创建excel,但是xlsx免费版仅仅只能做单元格合并,收费版才能设置单元格样式,xlsx-style是基于xlsx的插件,免费,可以设置单元格样式,但是缺少了xlsx插件里很多实用的功能,比如aoa_to_sheet,可以直接把二维原创 2022-04-13 14:00:04 · 3905 阅读 · 3 评论 -
JavaScript:利用a标签生成excel文件
<template> <a-button type="primary" @click="tableToExcel">导出excel</a-button></template><script> export default { data() { return { spcDatas:[ ['上公差:13.7','下公差:13.1','标准值:13.4'], ['sigma:0.11','Cp.原创 2022-04-12 14:49:30 · 1184 阅读 · 1 评论 -
JavaScript:hasOwnProperty判断一个对象是否包含某个属性
let has = record.hasOwnProperty('testItemCode');参考:JS hasOwnProperty()方法:检测一个属性是否是对象的自有属性原创 2022-03-17 13:50:14 · 810 阅读 · 0 评论 -
JavaScript:list和tree转换
// 将树形数组转换成扁平数组 treeToArray(tree) { let data = JSON.parse(JSON.stringify(tree)) let newData = [] const callback = (item) => { (item.children || (item.children = [])).map(v => { callback(v) .原创 2022-03-10 11:17:59 · 1304 阅读 · 0 评论 -
JavaScript:获取当前事件的元素
1、在监听事件里加入$event参数。<div ref="cell" style="width: 75px;" @click="downloadData(items.filePath)" @mouseenter="mouseEnter(items.filePath,$event)" @mouseleave="mouseLeave($event)"> {{items.value}} </div>原创 2022-03-04 12:13:22 · 4688 阅读 · 0 评论 -
JavaScript:阻止form提交按钮的默认行为
右边是一个form,可以修改图表的一些信息,但是发现提交后图表信息并未更新,原因是form的提交按钮默认为的type为submit,点击后页面会刷新,重新回到初始状态,那么图表的信息又变成了初始值,最简单的办法是把type改为button,使其成为一个普通的按钮。<form> 图表配置<br> 图表名称<br> <input type="text" id="title" value="图表名称"> <br>..原创 2022-01-17 20:27:32 · 604 阅读 · 0 评论 -
JavaScript:moment12小时制和24小时制
moment(values.data).format('YYYY-MM-DDHH:mm:ss')--------------24小时moment(values.data).format('YYYY-MM-DD hh:mm:ss')--------------12小时原创 2021-12-17 15:31:05 · 1532 阅读 · 0 评论 -
JavaScript:正则表达式获取url参数
1、创建js文件,编写获取url参数的方法export default{ getUrlKey:function(name){ return decodeURIComponent((new RegExp('[?|&]'+name+'='+'([^&;]+?)(&|#|;|$)').exec(location.href)||[,""])[1].replace(/\+/g,'%20'))||null; }}2、在main.js里引入js文件3、在需.原创 2021-12-14 16:01:01 · 2037 阅读 · 0 评论 -
JavaScript:正则表达式去掉空的children
使用ant design vue的级联选择,后端返回的数据包含了空的children,导致前端下拉选项中有空白项,使用正则表达式可以去掉空的children。var jsondata = JSON.parse(JSON.stringify(res.result).replace(/\"children"\:\[]/g, "\"no\":0"));...原创 2021-12-14 15:37:27 · 339 阅读 · 0 评论 -
vue:如何使用js文件里的方法
首先,js文件里的方法必须加export前缀,否则其他文件没有访问权限。1、vue文件里局部引入直接在vue文件里引入方法方法,记得给方法名称加{}.在需要使用方法的地方,直接使用即可,不需要加this之类的前缀。2、main.js里全局引入在vue文件里调用js文件里的方法,如果js文件里还有其他方法,都是使用this.$urlParse.来调用即可。...原创 2021-12-06 19:10:20 · 11019 阅读 · 0 评论 -
vue:监听滚动条事件
由于某些原因,我不得不手工用ant design vue的a-row和a-col拼凑了一个表格,好不容易添加了水平滚动条,然后发现只要拖动滚动条,左表头未设置右边框的问题就被暴露了(为什么没有设置右边框呢?因为如果设置了右边框,就跟右边的表格线重复了,相当于2px的线条,很影响美观,不拖动滚动条的时候,这个问题被完美隐藏了)。问题如下:解决方法:监听滚动条,为左表头动态添加右边框。开始滚动后,添加右边框,滚动条恢复到最左边后,去掉右边框。给事件的两位主角都加上id属性,以便于docu原创 2021-12-06 15:15:03 · 3655 阅读 · 0 评论 -
JavaScript:如何求一个数组的最大值和最小值?
var min = Math.min.apply(Math, array);var max = Math.max.apply(Math, array);原创 2021-11-26 19:59:00 · 236 阅读 · 0 评论 -
JavaScript:向上取整和向下取整
var min = Math.floor(min); var max = Math.ceil(max);向上取整和向下取整,在echarts中用来设置Y轴的min和max非常有用,虽然我们用scale:true也能脱离 0 值比例,但是如果遇到Y轴的最大值和最小值非整数,显示上就不够美观,还是取整比较好看。...原创 2021-11-26 19:57:33 · 1325 阅读 · 0 评论 -
JavaScript:把数组变成对象,添加动态key
<template> <div> 把数组变成对象,添加动态key </div></template><script> export default { name: "", props: { dataSource: {} }, data() { return { data1:[11,22,33,44,55,66,77,88], data2:{} } .原创 2021-11-26 17:27:42 · 1905 阅读 · 0 评论 -
JavaScript:二维数组行和列互换
transfer(oldArr) { const newArr = oldArr[0].map((col, i) => oldArr.map(row => row[i])); return newArr; }原创 2021-11-26 17:13:34 · 1755 阅读 · 0 评论 -
JavaScript:使用slice(0)复制数组
本来avgX里只有25个数据,为了不污染avgX,我们使用了中间变量arr,然后在arr里添加了5个数据,打印原数组的时候会惊奇地发现avgX也变成了30个数据!这是因为数组之类引用数据类型,如果直接相等,相等于存储地址相等了,只要修改了一方,另一方会同步修改,正确的做法是在原数组里slice(0),全部截取原数组的数据,这时候我们不管如何修改arr,avgX都不会发生改变了。...原创 2021-11-23 16:46:37 · 2441 阅读 · 0 评论 -
JavaScript:如何把一个对象拆分成label和value的新对象格式
<template> <div style="margin: 10px auto;width: 200px;"> <div v-for="(item,index) in data1"> {{item}} </div> <div v-for="(item,index) in data2"> {{item.label}}:{{item.value}} </div> </div></te.原创 2021-11-26 17:04:31 · 1406 阅读 · 0 评论