
js
Hero_rong
实战型前端选手
展开
-
多维数组扁平化
数组扁平化,就是把多维数组转化为以为数组,例如,将多维数组 [1,2,3,[2,3,[4,5,6]],4,100] 转化为 [1,2,3,2,3,4,5,6,4,100] 的形式方法一:递归函数实现let arr = [1,2,3,[2,3,[4,5,6]],4,100]let getNewArr = (arr)=>{ let newArr = [] for(let i=0;i<arr.length;i++){ if(Array.isArra..原创 2021-10-28 16:41:16 · 1562 阅读 · 0 评论 -
js逻辑运算短路逻辑
&& 和 || 运算符使用短路逻辑,是否会执行第二个语句取决于,第一个操作数的结果。在需要访问某个对象的属性时候,可以使用这个特性检查该对象是否为空。运算符 语法 说明 &&(and,逻辑与) expr1&&expr2 若expr1为true则返回expr2,否则,返回expr1 ||(or,逻辑或) expr1||expr2 若expr1为true,则返回expr1,否则返回expr2 实战1.判断原创 2021-10-28 13:52:15 · 588 阅读 · 0 评论 -
小程序上传文件 wx.chooseMessageFile
小程序是没有直接从手机里面选文件这个功能的,只有从微信聊天记录里面选用的是这个方法wx.chooseMessageFile() (官方文档戳这里) wx.chooseMessageFile({ count: 10, type: 'file', success(res) { console.log(res); } })...原创 2021-02-22 14:54:14 · 11359 阅读 · 0 评论 -
搜索高亮显示
效果如图所示下面直接贴代码吧wxml <view class="input {{flag?'':'eight'}}"> <icon type="search" size="23" color=""></icon> <input type="text" placeholder="请输入" bindinput="bindKeyInput" bindfocus='bindfocus' value="{{value}}" />...原创 2021-01-28 15:26:36 · 344 阅读 · 0 评论 -
微信小程序WXML页面上直接截取字符串 wxs截取字符串
可以先浏览下官方文档,戳这里还参考了,大神的文章,戳这里首先我的需求,如图,我想要的效果是 2020年11月19日,后端给我的数据是 20201119 ,于是我很自然的,{{item.templateName.slice(0,4)}},然后报错,发现,小程序不支持在 wxml 页面直接修改。在wxml页面中,只能在插值 {{ }} 中写简单的js表达式,而不能调用方法,例如想截取字符串,就不能调用slice()方法。通常的解决办法是在page的data对象中先把这个字符串截取好赋给某个变原创 2020-11-24 20:43:40 · 4507 阅读 · 7 评论 -
微信小程序关于tabBar的底部图标不显示问题
如图, list 的顺序,图片,都没有问题,但是底部的 tabbar 图标就是不显示后来发现这里面两个属性,selectedIconPath 和iconPath ,前者是选中,后者是没有选中的,我一开始测试的时候只写了一个属性,就是没有选中的那个属性,所以才没有显示正确写法是要两个都写的,问题不是什么大问题,记录一下,就是想提醒自己,写代码要仔细一点 "list": [{ "pagePath": "pages/list/index", "sele...原创 2020-11-24 16:14:26 · 3486 阅读 · 4 评论 -
小程序接口封装
第一步,新建 request.js 文件,把要封装的方法放进去var app = getApp();//项目URL相同部分,减轻代码量,同时方便项目迁移//这里因为我是本地调试,所以host不规范,实际上应该是你备案的域名信息var host = 'http://192.168.1.1:9990/'; //此处本地接口地址/** * POST请求, * URL:接口 * postData:参数,json类型 * doSuccess:成功的回调函数 * doFail:失败的回原创 2020-11-24 15:01:49 · 1320 阅读 · 5 评论 -
for of 循环获取index值
for of 循环的时候非常方便,基础形态是这样的,直接打印 s ,就可以取到里面的值了,但是!!这种情况下是取不到 indexfor (let s of sequence) { console.log(s);}后来我就发现了这个方法.entries()entries() 方法返回一个数组的迭代对象,该对象包含数组的键值对 (key/value)。迭代对象中数组的索引值作为 key, 数组元素作为 value。酱紫就可以啦for (let [m,index] of...原创 2020-11-06 18:32:58 · 29843 阅读 · 13 评论 -
往数组里面添加对象,往对象里面添加元素
当后台传过来一个数组的时候,我们发现,需要往里面添加个属性,用起来更方便,这时候,我们就要往数组里面添加一个对象,再使用这个新的数组就可以了var cardNumArr = this.data.cardNumArr;//定义一个空的数组var cardNumObj = this.data.cardNumObj;//定义一个空的对象cardNumObj = { name: this.d...原创 2018-09-13 11:40:48 · 91751 阅读 · 4 评论 -
小程序订单页面功能实现,以及 swiper 高度多出屏幕问题解决
如图这里的tab页面,嵌套在页面中间的,上面和下面都有东西, 如果正常设置高度宽度100%,滑动的时候页面显示的就不是100%了,而是比一个页面多,把上面的元素也加上去了,这样肯定不行的,我现在做的时候,就只让它在中间滑动,不可以超出这个页面首先我们这个切换tab的页面是用 swipper + scroll-view 做的,看一下wxml <view class="service-list"> <!-- 切换栏 --> <view class="swipe..原创 2020-06-15 15:01:27 · 772 阅读 · 0 评论 -
vue导入excel文件,vue导入多个sheets
用input 导入 excel 然后生成表格html 导入按钮和选择文件的弹框 <el-button v-waves :loading='downloadLoading' class='filter-item' type='primary' icon='el-icon-download' @click='daoru'> 导入 </el-button> <el-dialog title="导入文件" :visible原创 2020-05-12 18:11:18 · 2192 阅读 · 5 评论 -
如何查看对象一共多少条数据,查看对象长度 Object.keys(obj).length
我这里现在是个双重对象,对象里面套对象,结构如图,但是我想知道一共多少条数据,这里是不可以用 length 的,因为这是对象,不是数组,所以我们用这个方法Object.keys(obj).length , 根据对象的键值对来获取对象一共多少条数据console.log( obj );// 直接打印这个对象,里面是没有length属性的这个时候就可以看到 length 属性了,直接Object.keys(obj).length 就可以拿到这个对象的长度了console.log( O...原创 2020-05-12 10:22:59 · 2378 阅读 · 0 评论 -
element-ui给日期一个显示,设置出行日期,不可以选择今天往前
element-ui datePicker,设置出行日期,就是给日期一个限制,不可以选今天以前的日期 <el-date-picker v-model="temp.time" type="date" :picker-options="pickerOptions" placeh...原创 2020-04-28 17:42:26 · 484 阅读 · 0 评论 -
element-ui 上传图片限制格式
beforeAvatarUpload(file) { this.loading = true const isJPG = file.type === 'image/jpeg'; const isPNG = file.type === 'image/png'; const isLt10M = file.size / 1024 / 1024 &...原创 2020-04-27 10:51:56 · 3926 阅读 · 3 评论 -
css 图片按比例缩放
HTML结构是这样的,外面一个div,里面放个img标签 <div> <img src="" alt=""> </div> div { width: 100px; height: 100px; overflow: hidden; } img { max-width:300px; ...原创 2020-04-27 10:20:51 · 1393 阅读 · 0 评论 -
el-tree清除已选中的
清除 element el-tree已选中的选项,光是清除default-checked-keys值是没用的element的el-tree 组件是采用赋值的方式改变是否勾选的,所以你应该使用组件中提供的 this.$refs.tree.setCheckedKeys([]);this.$refs.tree.setCheckedKeys([]); //一行代码搞定...原创 2019-12-12 10:48:45 · 13143 阅读 · 6 评论 -
js去除数组中的empty undefined 空项
arr.filter(d=>d)原创 2019-12-06 10:40:15 · 9102 阅读 · 3 评论 -
element 动态添加表头
用户状态后台返回给我的是 0和 1,根据 0和 1来显示,启用和禁用,但是文档上的例子是直接用prop = ' userName '这种方法来显示数据的,如果还是这么写的话,那表格里展示出来的就是 0和 1 ,这并不符合我的需求,所以,我找到了这个属性slot-scope,这个属性,看下面打印的东西,就知道他是个啥了,通过slot-scope可以获取到 row, c...原创 2019-12-03 17:21:30 · 936 阅读 · 0 评论 -
vue-admin-element 的动态加载路由
以下如有不足,欢迎各位大佬指正先看一下 vue-admin-element 的目录,对于新手来说,看明白项目的目录很重要,这些目录都是自动生成的1.思路,我们要动态生成路由,就得有接口,从接口里面获取路由信息,然后把这些信息动态添加到路由上展示出来就ok了,仔细看一下这些数据,不难发现,里面有component组件,这组件后台是没有办法传过来的,需要前端自己转换,下面会详细提到...原创 2019-12-03 16:15:33 · 7359 阅读 · 23 评论 -
vue刷新当前路由
如图刷新右边1.添加刷新方法,export function refresh(that) { that.$router.replace({ path: '/refresh', query: {} })}2.调用 let that = this setTimeout(() => {...原创 2019-11-26 15:27:14 · 747 阅读 · 5 评论 -
element组件中文显示
今天用到element组件分页的时候,看着官方文档是显示共计多少条,然后到我这里就是显示total,感觉很不合适,后来发现,element是可以设置中文显示的,如下图import locale from 'element-ui/lib/locale/lang/zh-CN'...原创 2019-11-19 10:00:55 · 2766 阅读 · 0 评论 -
element-ui 框架的checkbox组件 详解
<el-checkbox-group v-model="form.powerIdArr" @change="changeGroup"> <el-checkbox @change='changeLick' v-for="item in powerList" :label="item.powerId" name="type">{{item.powerDescr...原创 2019-11-15 15:45:04 · 18458 阅读 · 5 评论 -
el-tree 改变label
<el-tree :data="data" :props="treeProps" @click="showAdd()"></el-tree>treeProps: { label: "name", children: "children"},原创 2019-11-07 14:39:45 · 7124 阅读 · 0 评论 -
Vue Element Admin 用mock模块模拟数据
步骤简单一 在 src/api/charts中添加接口 ,方法名为getindexMockimport request from '@/utils/request'export function getindexMock(params) { console.log(params) return request({ url: '/charts/one', ...原创 2019-11-07 13:40:00 · 4178 阅读 · 9 评论 -
前端用md5加密
步骤简单一:下载md5npm install js-md5二:导入使用1. 导入import md5 from 'js-md5';2.使用console.log('name=====', md5(name))打印下来的结果是一串字符串...原创 2019-11-05 17:47:29 · 3209 阅读 · 0 评论 -
js 清除本地缓存 localStorage
1.创建缓存 localStorage.setItem('doEdit', this.doEdit);2.读取缓存 localStorage.getItem('doEdit', this.doEdit);3.清除缓存 localStorage.clear();原创 2019-01-10 19:32:24 · 35134 阅读 · 0 评论 -
vue 返回刷新页面 不keepAlive
问题:vue项目,从A页面进入B页面,再返回A页面的时候,页面不刷新。举例:从列表页面,选择一条数据点击进去查看详情,这时候页面刷新了,并且执行了 created()方法和 mounted()方法,这个时候返回上一页,也就是列表页面,选择另外一条数据点击进来查看详情,页面上保留的还是上一条信息,并且没有执行created()方法,直接执行了 mounted()方法。思考:一开...原创 2019-01-04 16:15:51 · 2937 阅读 · 0 评论 -
数组经过缓存localstorage就变成了字符串
缓存里面只能放键值对,不可以放数组,也不可以放对象。原创 2018-12-29 16:29:24 · 1841 阅读 · 0 评论 -
项目从开发环境切换到生产环境,接口就不能调用了
今天遇到一个小坑,问题不到,但是有意思,一般测试测bug都是在开发环境上,测试没问题了,再切换到生产环境测试,我们可爱的测试小姐姐,今天在生产环境上测了一个在开发环境就测试通过的问题,但是在生产环境却不行了,甚至连接口都不调用!两个环境的代码一模一样的啊,怎么到了生产环境接口就不调用了呢,既然是接口不能调用了,小可爱们注意了,首先就要检查接口名称,不要看一眼感觉没事就没事了,要打印下来 !...原创 2018-12-18 15:53:03 · 3274 阅读 · 0 评论 -
vue 设置滚动条高度 window.scroll(0, 0);
vue 设置滚动条滚动到顶部window.scroll(0, 0);原创 2018-12-27 17:01:22 · 8502 阅读 · 0 评论 -
在vue项目中 , 将字符串转数组 split()
console.log(this.cityItem.fullName); console.log(this.cityItem.fullName.split(''));在vue项目中,遇到一个常用的方法split(),因为常用,又容易记混,所以在此记录split(' ') ,将字符串以空格为界限切割为数组,引号里面可以写参数,比如...原创 2018-12-21 15:39:53 · 85310 阅读 · 3 评论 -
es6 删除数组指定元素
arr.splice(arr.findIndex(item => item.id === id), 1)//item 只是参数可以写成 i 或者 v 都可以 , //后面的额id是数组的id,是不能随便写的,如果你数组里面写的是id,这里就写id,如果数组里面写的是num,那这里就写num , //=== 后面的id是你想要删除的元素的id号,同理,如果你数组里面写的是num,那这里...原创 2018-12-14 14:46:14 · 50413 阅读 · 11 评论 -
js分割字符串并拿到值,js截取字符串
遇到需要截取字符串的时候就这样substring(开始的下标位置,结束的下标位置);主要,开始的下标位置是包含的,而结束的位置是不包含的,用数学表达式就是这样滴[开始的下标位置,结束的下标位置)...原创 2018-11-29 11:26:19 · 1550 阅读 · 2 评论 -
当一个标签里面有多个class属性的时候,如何判断是否有哪个属性
如图,选中的那一行<button>标签,里面的class值,有两个,一个是startTime还有一个是chooseButton,我需要判断是否含有chooseButton这个class,再进行相应的操作,当只有一个一个class的时候,我们可以通过$(this).attr('class')==‘chooseButton’,来判断,但是多个却不适用了,那么问题来了,多个怎么判断呢,蹬...原创 2018-11-22 14:18:37 · 8334 阅读 · 0 评论 -
js点击事件禁止冒泡
$(".car-style").click(function(){ $(".operate-mask-outer").show(); // 点击黄色的禁停站,弹出框显示 }); $("#operateMask").click(function(){ $(".operate-mask-outer").hide();...原创 2018-11-22 10:45:50 · 2538 阅读 · 0 评论 -
textarea input 限制长度 实时监听
<div class="input"> <textarea @input="descArea" name="" id="" cols="30" rows="10" v-model="textareaDesc" placeholder="请填写备注信息,如:需带个人简历、身份说明">&原创 2019-01-06 16:40:24 · 1349 阅读 · 0 评论 -
vue 返回上一页,页面样式错乱
vue项目,返回上一个,页面样式错乱,就是页面之间的样式干扰了,虽然vue 是单页面开发,但是如果不注意样式并不是说写在哪个页面上就是哪个页面的样式,想要页面样式不冲突,一定要在最外面添加class或者id用来区分...原创 2019-01-06 17:29:01 · 3734 阅读 · 2 评论 -
小程序 slider 双向滑动
先上效果图,csdn不支持视频,这是手机录屏做成的gif,所以画质有点。。直接上代码,小程序暂时不支持slider双向滑动,所以把两个slider拼起来用<view class='sliderHCon'> <view class='showMoney'> <text class='MoneyValue'>¥{{min}}</tex...原创 2019-09-20 13:35:51 · 4356 阅读 · 16 评论 -
js截取字符串的后几位
以截取后两位为例 console.log(str.substr(str.length-2))原创 2019-08-28 14:12:32 · 3986 阅读 · 0 评论 -
js倒计时
function tow(n) { return n >= 0 && n < 10 ? '0' + n : '' + n; } function getDate() { var oDate = new Date();//获取日期对象...原创 2019-08-21 09:44:53 · 199 阅读 · 0 评论