1.upload:
文件校验:
const apkArray = file.name.split("."); const isApk = apkArray[apkArray.length-1] === 'apk'; const isLt100M = file.size / 1024 / 1024 < 100; if(!isApk){ this.$message.error('上传文件只能是 apk 格式!'); return false } if (!isLt100M) { this.$message.error('上传icon大小不能超过 30MB!'); return false }
文件md5
uploadChange(file,fileList){ let _this = this; let fileRaw = file.raw; this.sFile = file.raw; let blobSlice = File.prototype.slice || File.prototype.mozSlice || File.prototype.webkitSlice, spark = new SparkMD5.ArrayBuffer(), fileReader = new FileReader(); fileReader.onload = function(e){ spark.append(e.target.result); _this.sendData.file_md5 = spark.end().toUpperCase() ; console.log(_this.sendData.file_md5) // Append array buffer } fileReader.readAsArrayBuffer(blobSlice.call(fileRaw, 0, fileRaw.size)); }
文件分片上传
每次上传通过slice(start,end) 分片上传
表格刷新滚动到顶部
this.$refs.table.wrapperBody.scrollTop = 0
表格搜索
1.监听input框 将对应的值赋给搜索的值 2. this.$emit('搜索)
路由返回
采用在路由跳转的时候传递history参数 history用来存储当前路由 每次跳转就push当前路由 返回就pop当前路由
父子页面生命周期顺序
1.加载渲染过程:父 beforeCreated 父 created 父beforeMounted 子beforeCreated 子created 子 beforeMounted 子mounted 父mounted
2.更新过程: 父beforeUpdate->子beforeUpdate->子updated->父updated
3.销毁过程:父beforeDestroy->子beforeDestroy->子destroyed->父destroyed
模拟一键复制
function handleCopy(val){ var oInput = document.createElement('input'); oInput.value = val; document.body.appendChild(oInput); oInput.select(); document.execCommand("Copy"); oInput.className = 'oInput'; oInput.style.display = 'none'; Message({ 'type':'success', "message":'复制成功' }) }
时间格式化
function dateFormat(fmt, date) { let ret; let opt = { "Y+": date.getFullYear().toString(), // 年 "m+": (date.getMonth() + 1).toString(), // 月 "d+": date.getDate().toString(), // 日 "H+": date.getHours().toString(), // 时 "M+": date.getMinutes().toString(), // 分 "S+": date.getSeconds().toString() // 秒 // 有其他格式化字符需求可以继续添加,必须转化成字符串 }; for (let k in opt) { ret = new RegExp("(" + k + ")").exec(fmt); if (ret) { fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0"))) }; }; return fmt; }