DDR爱好者之家 Design By 杰米
上传组件封装需求分析
在基于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端的图片上传相对于小程序 要复杂一点,这个封装只能满足当下单图上传的需求也有他的不足之处。当然也可以扩展为多图上传,关于多图上传的网上也有很多例子。这里不再一一赘述。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米
暂无评论...
更新日志
2024年11月25日
2024年11月25日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]