1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > vue+elementUI 照片墙图片的删除按钮动态显隐

vue+elementUI 照片墙图片的删除按钮动态显隐

时间:2021-06-15 08:36:53

相关推荐

vue+elementUI 照片墙图片的删除按钮动态显隐

源码如下

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<link rel="stylesheet" href="elementUI-2.12/index.css" />

</head>

<script src="/vue@2.5.11/dist/vue.js"></script>

<script src="elementUI-2.12/index.js"></script>

<body>

<div id="photo">

<el-upload action="https://www.mocky.io/v2/5185415ba171ea3a00704eed/posts/"

accept="image/*"

:limit="3"

list-type="picture-card"

:on-exceed="outnum"

:on-preview="handlePictureCardPreview"

:on-remove="handleRemove"

:on-change="uploadsuccess"

:class="{hide:hideUploadEdit,hide2:hideUploadEdit2}"

:disabled="false">

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

</el-upload>

<el-dialog :visible.sync="dialogVisible">

<img width="100%" :src="dialogImageUrl" alt="">

</el-dialog>

</div>

<!--<span slot="footer" class="dialog-footer">

<el-button @click="dialogVisible = false">取 消</el-button>

<el-button type="primary" @click="dialogVisible = false">确 定</el-button>

</span>-->

</body>

<script>

var vm = new Vue({

el: '#photo',

data() {

return {

dialogImageUrl: '',

dialogVisible: false,

hideUploadEdit:false,

hideUploadEdit2:false,

};

},

methods: {

handleRemove(file, fileList) {

//this.dialogVisible = true;

if(fileList.length >=3){

this.hideUploadEdit = true

}else{

var _this = this

setTimeout(

_this.hideUploadEdit = false

,800)

}

console.log(file, fileList);

},

handlePictureCardPreview(file,fileList) {

this.dialogImageUrl = file.url;

this.dialogVisible = true;

},

uploadsuccess(file,fileList){

if(fileList.length == 2){

this.hideUploadEdit2 =true

}else if(fileList.length == 3){

this.hideUploadEdit2 =false

}

if(fileList.length >=3){

this.hideUploadEdit = true

}else{

this.hideUploadEdit = false

}

},

outnum(file, fileList){

alert("最多上传3张照片")

}

}

})

</script>

<style>

.hide .el-upload--picture-card {

display: none;

}

.hide2 .el-upload-list__item-delete{

visibility: hidden;

}

</style>

</html>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。