热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Vue项目中结合ElementUI解决连续上传多张图片及图片编辑问题

本文介绍了在Vue项目中如何结合ElementUI解决连续上传多张图片及图片编辑的问题。作者强调了在编码前要明确需求和所需要的结果,并详细描述了自己的代码实现过程。

编码都是以需求为导向的,所以编码前一定要弄清楚需要的结果是什么,然后再开始编码。

现在简单的说下需求:如下图所示,点击蓝色的“+”按钮,可以连续生成多个图片上传框,每个图片上传框都是单独上传图片,编辑互不影响。


现在说下我的代码实现过程:

element ui:


转账汇款信息
+




:ref='"upload" + index'
name="img_b"
class="upload-demo"
:action="uploadUrl"
:headers="upload_hearder"
:on-remove='handleRemove'
:on-success='uploadSuc'
:file-list='fileList'
:show-file-list="false">
{{item.up_btn}}


@click="delupload(item,index)">删除


data() {
return {
// 上传成功后的id
uploadId: '',
// 重新上传成功后的id
resetUploadId: '',
// upload控件tag
uploadTag: 0,
// 上传图片文件列表
fileList: [],
upItem: {},
// 所有账号-select
accVal: '1',
// 图片上传框初始数组
datas_upload: [{ up_btn: '上传图片', upbtnGroup: false, imgId: '', url: '' }],
// 图片初始id数组
imgArryid: [],
}
},
methods: {
// 点击“+”按钮生成图片上传框
addupload() {
this.datas_upload.push({ up_btn: '上传图片', upbtnGroup: false, imgId: '', url: '' })
},
// 获取图片id
getimgId() {
for (var i = 0; i this.imgArryid.push(this.datas_upload[i].imgId)
}
console.log(this.imgArryid, 785)
return this.imgArryid
},
// 图片上传
getUploadTag(item, index) {
// console.log(response, file, fileList, 564)
this.uploadTag = index
console.log(index, 220)
this.upItem = item
},
// 图片上传成功
uploadSuc(response, file, fileList) {
console.log(1230, response, response.id)
console.log(file, fileList, 6630)
// 把图片id添加到 uploadId 数据中
this.datas_upload[this.uploadTag].imgId = response.id
this.uploadId = response.id
this.upItem.up_btn = '重新上传图片'
this.upItem.upbtnGroup = true
var imgs = 'imgs' + this.uploadTag
console.log(this.$refs.imgs, 267)
this.upItem.url = file.url
},
// 上传图片-删除
delupload(item, index) {
console.log(index, 562)
for (var i = 0; i if (i != 0) {
if (index == i) {
this.datas_upload.splice(i, 1)
this.datas_upload[index].imgId = ''
}
} else if (i == 0) {
console.log(index, item, 563)
this.datas_upload[index].imgId = ''
this.datas_upload[index].url = ''
item.up_btn = '上传图片'
item.upbtnGroup = false
}
}
},
// 重新上传-success
resetUploadSuc(response, file, fileList) {
this.resetUploadId = response.id
this.cOnResUploadView= false
this.cOnRessubmitView= true
}
}

注意:像这种可以生成多个数据的,首先想到使用数组的v-for循环遍历来实现,初始化默认有一个图片上传框,那就给数组一个初始化的对象,每当点击按钮就往数组中添加新的对象,利用数据的双向绑定,便能生成相应的dom元素,达到想要的效果。

 



推荐阅读
  • 理解浏览器历史记录(2)hashchange、pushState
    阅读目录1.hashchange2.pushState本文也是一篇基础文章。继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变 ... [详细]
  • 小编给大家分享一下Vue3中如何提高开发效率,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获, ... [详细]
  • 在尝试加载支持推送通知的iOS应用程序的Ad Hoc构建时,遇到了‘no valid aps-environment entitlement found for application’的错误提示。本文将探讨此错误的原因及多种可能的解决方案。 ... [详细]
  • 高效的JavaScript异步资源加载解决方案
    本文探讨了如何通过异步加载技术处理网页中大型第三方插件的加载问题,避免将大文件打包进主JS文件中导致的加载时间过长,介绍了实现异步加载的具体方法及其优化。 ... [详细]
  • JavaScript 实现图片文件转Base64编码的方法
    本文详细介绍了如何使用JavaScript将用户通过文件输入控件选择的图片文件转换为Base64编码字符串,适用于Web前端开发中图片上传前的预处理。 ... [详细]
  • 本打算教一步步实现koa-router,因为要解释的太多了,所以先简化成mini版本,从实现部分功能到阅读源码,希望能让你好理解一些。希望你之前有读过koa源码,没有的话,给你链接 ... [详细]
  • 本文详细介绍了 Redis 中的主要数据类型,包括 String、Hash、List、Set、ZSet、Geo 和 HyperLogLog,并提供了每种类型的基本操作命令和应用场景。 ... [详细]
  • Vue CLI 基础入门指南
    本文详细介绍了 Vue CLI 的基础使用方法,包括环境搭建、项目创建、常见配置及路由管理等内容,适合初学者快速掌握 Vue 开发环境。 ... [详细]
  • 利用Node.js实现PSD文件的高效切图
    本文介绍了如何通过Node.js及其psd2json模块,快速实现PSD文件的自动化切图过程,以适应项目中频繁的界面更新需求。此方法不仅提高了工作效率,还简化了从设计稿到实际应用的转换流程。 ... [详细]
  • 本文详细介绍了如何在Spring框架中设置事件发布器、定义事件监听器及响应事件的具体步骤。通过实现ApplicationEventPublisherAware接口来创建事件发布器,利用ApplicationEvent类定义自定义事件,并通过ApplicationListener接口来处理这些事件。 ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • 洛谷 P4009 汽车加油行驶问题 解析
    探讨了经典算法题目——汽车加油行驶问题,通过网络流和费用流的视角,深入解析了该问题的解决方案。本文将详细阐述如何利用最短路径算法解决这一问题,并提供详细的代码实现。 ... [详细]
  • 本文探讨了在一个使用Mongoid框架的项目中,如何处理当HABTM(has_and_belongs_to_many)关系中的逆向关联设置为nil时,子对象无法正确持久化的问题。 ... [详细]
  • 本文详细记录了腾讯ABS云平台的一次前端开发岗位面试经历,包括面试过程中遇到的JavaScript相关问题、Vue.js等框架的深入探讨以及算法挑战等内容。 ... [详细]
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
author-avatar
手机用户2602886817
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有