上传组件封装需求分析
在基于elementUI库做的商城后台管理中,需求最大的是商品管理表单这块,因为需要录入各种各样的商品图片信息。加上后台要求要传递小于2M的图片,因此封装了一个upload.vue组件作为上传页面的子组件,它用于管理图片上传逻辑。
upload.vue解析
upload主要用于实现表单上传图片的需求,主要由input +img 构成当没有图片的时候显示默认图片,有图片则显示上传图片,因为input样式不太符合需求所以只是将起设置为不可见,不能将其设置为display:none。否则将将无法触发input的change事件
upload.vue代码如下:
<template> <div> <div class="upload-box" :style="imgStyle"> <!-- 用户改变图片按钮的点击 触发上传图片事件 --> <input type="file" :ref="imgType$1" @change="upload(formVal$1,imgType$1)" class="upload-input" /> <!-- img 的 src 用于渲染一个 图片路径 传入图片路径 渲染出图片 --> <img :src="/UploadFiles/2021-04-02/formVal$1[imgType$1]">商品页中使用upload组件
在good.vue中我们引入upload组件。并且传递相应表单对象,需上传的图片类型的属性,以及图片显示样式给子组件
good.vue核心代码:
<template> <el-form ref="form" :model="form" label-width="80px" label-position="top" :rules="rules"> <!-- 无关代码略 --> <el-form-item label="详情图" prop="sDetailImg" ref="sDetailImg"> <uploadImg :form-val="form" :img-type="'sDetailImg'" :img-style="detailImgStl" @clearValidate="clearValidate"></uploadImg> </el-form-item> <el-form-item> <el-row style="text-align:center;"> <el-button type="primary" size="medium" @click.stop="submit('form')" v-if="!form.ID">保存</el-button> <el-button type="primary" size="medium" @click.stop="submit('form')" v-else-if="form.ID">修改</el-button> <el-button size="medium" @click.stop="resetForm('form')">重置</el-button> </el-row> </el-form-item> </el-form> <!-- 略 --> </template> <script> import uploadImg from "../common/uploadImg"; //图片上传 export default { name: "good", //组件名字用户缓存 data: function() { return { form: { ID: NULL, //其他字段略 sDetailImg: "" //商品详细图 }, detailImgStl: { width: "350px", height: "150px" }, rules: { sDetailImg: [{ required: true, message: "请填写详细图信息", trigger: "change" }], } } }, methods: { //这里监听子组件回写的信息,用户清除上传成功之后还显示图片未上传的bug clearValidate: function(imgName) { //清空图片上传成功提示图片没有上传的验证字段 this.$refs[imgName].clearValidate(); }, //重置表单 resetForm: function(formName) { this.confirm("确认重置表单", function(self) { self.$refs[formName].resetFields(); }) } }, } </script>写在最后
关于图片上传之前我也写过一个小程序版本,总体看来pc端的图片上传相对于小程序 要复杂一点,这个封装只能满足当下单图上传的需求也有他的不足之处。当然也可以扩展为多图上传,关于多图上传的网上也有很多例子。这里不再一一赘述。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 郑中基.2002-安可ENCORE新歌精选(引进版)【步升】【WAV+CUE】
- 姚璎格《影》头版限量编号24K金碟[WAV+CUE]
- 刘德华《回家的路》2CD[WAV+CUE][963M]
- F4《流星雨》[FLAC整轨][499M]
- 物华弥新鹿角立鹤厉害吗 鹿角立鹤培养建议分享
- 物华弥新芙蓉炉厉害吗 芙蓉炉培养建议分享
- 星之翼手游新手开荒指南大全 星之翼新手怎么快速上手
- 赵传2014-歌声传情3CD[广东音像][WAV+CUE]
- 江蕙2002-台语典藏系列·黄金版8CD[WAVCUE]
- 薰妮1980-雾里玫瑰[香港永恒真存珍藏版][WAV+CUE]
- 《给他爱5》被移植到NS平台:玩会序章就崩溃了
- 《星刃》MV幕后公开 韩国女星BIBI大赞服装设计
- 日本人妻COS《葬送的芙莉莲》尤贝尔:死鱼眼超还原
- 陈升.2019-七天【新乐园】【WAV+CUE】
- 痛仰乐队.2014-愿爱无忧【禾广娱乐】【WAV+CUE】