实现elementui 上传图片拖拽功能问题

实现elementui 上传图片拖拽功能问题

目前需求想要使用element ui的上传图片组件并实现拖拽,在网上找了一个方法,但是目前点击上传后,on-success方法都没有执行,求各位大佬帮看看,感谢

     <div class="itemContent">

<draggable

v-model="productForm.productPicList"

class="list-group"

tag="ul"

v-bind="dragOptions"

@start="productForm.drag = true"

@end="productForm.drag = false"

>

<div

v-for="(item, index) in productForm.productPicList"

:key="index"

v-loading="productForm.loadingapp"

class="listitem"

@mouseenter="showDelBtn(index)"

@mouseleave="hiddenDelBtn"

>

<img

v-if="item"

:src="item"

class="imgSty"

/>

<i

v-show="index == productForm.currentDelBtn"

class="el-icon-delete delIcon"

@click="deleImg(item, index)"

/>

</div>

</draggable>

<div class="uploadIcon">

<el-upload

:show-file-list="false"

action=""

list-type="picture-card"

:on-success="handlePictureSuccess"

>

<i class="el-icon-plus" />

</el-upload>

</div>

</div>

data() {

return {

productForm: {

productPicList: [],

currentDelBtn: -1,

loadingapp: false,

drag: false

},

}

},

computed: {

dragOptions() {

return {

animation: 200,

group: 'description',

disabled: false,

ghostClass: 'ghost'

}

}

},

//显示删除图片的图标

showDelBtn(index) {

console.log(index)

this.productForm.currentDelBtn = index

},

//隐藏删除图片的图标

hiddenDelBtn() {

this.productForm.currentDelBtn = -1

},

// 删除图片

deleImg(data, index) {

this.productForm.productPicList.splice(index, 1)

},

handlePictureSuccess(response, file, fileList) {

debugger

console.log(file,'iodysaidsyaiodysaiodysao')

const isJPG = file.raw.type === 'image/jpeg'

const isJPG2 = file.raw.type === 'image/jpg'

const isPNG = file.raw.type === 'image/png'

const isGIF = file.raw.type === 'image/gif'

const isLt5M = file.raw.size / 1024 < 100

// const isSize = this.imgSize(file)

// if (!isJPG && !isJPG2 && !isPNG && !isGIF) {

// this.$message.warning('只支持jpg或png或gif格式图片')

// return

// }

// if (!isLt5M) {

// this.$message.warning('商品图片须小于100K!')

// return

// }

// if (this.productForm.productPicList.length >= 5) {

// this.$message.warning(`当前限制选择 5 张图片`)

// return

// }

//以下代码是验证是否符合比例,如果不需要验证比例可以直接把图片push到数组里

// this.productForm.productPicList.push(file.response.data)

},


回答:

可以使用vue-draggable插件,具体看https://www.itxst.com/vue-dra...

以上是 实现elementui 上传图片拖拽功能问题 的全部内容, 来源链接: utcz.com/p/936434.html

回到顶部