相思资源网 Design By www.200059.com
前言
今天记录几个简单的小问题,前端时间开发用到的,之前看到博客中没有记录,简单记录一下。 一个是element上传组件循环引用的方式,一个是简单的倒计时。
上传组件每个上传都要指定相应的函数,而且函数不能传入参数,10个上传按钮要写10个上传函数,非常麻烦。针对这个,我们可以循环这些函数。
案例
element一个上传组件如下:
<el-upload class="avatar-uploader" action="https://jsonplaceholder.typicode.com/posts/" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload"> <img v-if="imageUrl" :src="/UploadFiles/2021-04-02/imageUrl">假如有10个上传,岂不是要指定10个handleAvatarSuccess这个回掉函数?这些太麻烦了!!!
no! 我们可以不用这么写。推荐的一个写法如下:
<div class="pzsrltv" v-for="(item,index) in sValueAddedServiceData" :key="index"> <!--这一块循环出来 --> <div class="s_step1"> <div class="stitle">{{item.name}}<span class="sblue" v-if="item.showimg" @click.stop="showImg.show = true;showImg.url = item.showimg">点击查看示例</span> </div> <div class="one_line"> <img class="imagelist" v-if="svalueImg[item.value]" :src="/UploadFiles/2021-04-02/`${viewUrl}${svalueImg[item.value]}`">如上面代码,我们直接循环上传。
我们在data()里面指定handlescSuccess: {},
data(){ return { handlescSuccess: {}, svalueImg: {}, } }初始化的时候,对上传进行设置
for (let i = 1; i <= 10; i++) { //循环的个数 this.handlescSuccess[i] = function(res, file) { // console.log(res, _this.svalueImg) if (_this.svalueImg) { _this.$set(_this.svalueImg, i, res.file.sFile) } } }上面的代码是针对一个上传按钮只能上传一张图片的情况。上传多种做法类似。
例如如下:
//以下代码写在回调里面 for (let i = 0; i < item.iNum; i++) { // 图文视频上传函数 _this.handleTWSuccess[`${i}`] = function(res, file) { _this.sEvaluate['2'][i].sImg.push(res.file.sFile) } }时间倒计时
这个实现起来很简单,但是在vue Dom 中实时展示,要用$set方式
天,小时,分钟,秒的倒计时函数:
data里面:
data(){ return { letTimes: { nowTime: '' }, } }methods里面:
countDown(times) { const _this = this let timer = null timer = setInterval(function() { let day = 0, hour = 0, minute = 0, second = 0// 时间默认值 if (times > 0) { day = Math.floor(times / (60 * 60 * 24)) hour = Math.floor(times / (60 * 60)) - (day * 24) minute = Math.floor(times / 60) - (day * 24 * 60) - (hour * 60) second = Math.floor(times) - (day * 24 * 60 * 60) - (hour * 60 * 60) - (minute * 60) } if (day <= 9) day = '0' + day if (hour <= 9) hour = '0' + hour if (minute <= 9) minute = '0' + minute if (second <= 9) second = '0' + second _this.$set(_this.letTimes, 'nowTime', `${day !== '00' "htmlcode">function resetTime(time){ var timer=null; var t=time; var m=0; var s=0; m=Math.floor(t/60%60); m<10&&(m='0'+m); s=Math.floor(t%60); function countDown(){ s--; s<10&&(s='0'+s); if(s.length>=3){ s=59; m="0"+(Number(m)-1); } if(m.length>=3){ m='00'; s='00'; clearInterval(timer); } console.log(m+"分钟"+s+"秒"); } timer=setInterval(countDown,1000); }用法很简单,传秒数进来就可以了
例如:
this.countDown(5689) this.resetTime(256)小结
简单的小案例就分享到这里,国庆愉快,希望对大家的学习有所帮助,也希望大家多多支持。
相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com
暂无element上传组件循环引用及简单时间倒计时的实现的评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。