The effect diagram is as follows: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="public/vant/index.css" rel="external nofollow" > <script src="public/vue.min.js"></script> <script src="public/vant/vant.min.js"></script> <script src="public/sortable/Sortable.min.js"></script> <script src="public/draggle/vuedraggable.umd.js"></script> </head> <style> .img_uploader{display: flex;} .img_upload span {display: -webkit-box;display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;} .img_upload_item {position: relative;margin: 0 8px 8px 0;cursor: pointer;} .preview-cover {position: absolute;bottom: 0;box-sizing: border-box;width: 100%;padding: 4px;color: #fff;font-size: 12px;text-align: center;background: rgba(0, 0, 0, 0.3);} .van-image__error,.van-image__img,.van-image__loading {object-fit: cover;} </style> <body> <div id="app"> <div class="img_uploader"> <van-uploader :after-read="onRead"> </van-uploader> <draggable class="img_upload" v-model="fileList" :group="{name:'imgs'}" @end="end" animation="200"> <transition-group> <div class="img_upload_item" v-for="(item,index) in fileList" :key="index" @click="previewImg(fileList,index)"> <div class="van-image van-uploader__preview-image"> <img :src="item.content" alt="Picture" class="van-image__img"> <div class="van-uploader__preview-cover"> <div class="preview-cover van-ellipsis" v-if="index == 0">Cover image</div> </div> </div> <div class="van-uploader__preview-delete" @click="delImg(index)"> <i class="van-icon van-icon-cross van-uploader__preview-delete-icon"></i> </div> </div> </transition-group> </draggable> </div> </div> </body> <script> var app = new Vue({ el: "#app", components: vuedraggable: window.vuedraggable, //Register drag component on current page}, data() { return { fileList: [ {content: 'https://img01.yzcdn.cn/vant/leaf.jpg',name: '12'}, {content: 'images/banner1.png',name: '12'}, {content: 'images/banner2.png',name: '12'}, {content: 'images/banner3.png',name: '12'}, {content: 'images/banner4.png',name: '12'}, ], } }, methods: { // Delete the image delImg(index) { if (isNaN(index) || index >= this.fileList.length) { return false } let tmp = [] for (let i = 0, len = this.fileList.length; i < len; i++) { if (this.fileList[i] !== this.fileList[index]) { tmp.push(this.fileList[i]) } } this.fileList = tmp }, onRead(file) { // Upload the image to the image server this.fileList.push(file) console.log(file) }, // Click to preview previewImg(images, index) { let listSrc = []; this.fileList.forEach(function(v,i){ listSrc.push(v.content) }) vant.ImagePreview({ images:listSrc, startPosition: index, closeable:true }); }, // Get the data just dragged after the drag ends end(e) { var _oldIndex = e.oldIndex var _oldItem = this.fileList[_oldIndex] console.log(_oldItem); }, } }) </script> </html> This is the end of this article about how to use vant uploader to upload pictures by dragging and dropping (set as cover). For more information about vant uploader to upload pictures, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope you will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: HTML table markup tutorial (38): Border color attribute of the header BORDERCOLOR
>>: Description of the default transaction isolation level of mysql and oracle
This article shares the specific code of Vue2.0 t...
Compared with ordinary programs, dynamic link lib...
Redis is a distributed cache service. Caching is ...
Simulation tables and data scripts Copy the follo...
Copy code The code is as follows: <a href=# ti...
Table of contents 1. First, let’s explain what Re...
Introduction Animation allows you to easily imple...
Online shopping mall database-user information da...
Table of contents First Look Index The concept of...
Preface The MySQL slow query log is a type of log...
Download the image (optional step, if omitted, it...
Preface In Linux kernel programming, you will oft...
Setting the font for the entire site has always b...
Table of contents Observer Pattern Vue pass value...
1. Use floating method Effect picture: The code i...