Vue implements adding, displaying and deleting multiple images

Vue implements adding, displaying and deleting multiple images

This article shares the specific code for Vue to add, display and delete multiple images for your reference. The specific content is as follows

Effect picture:

First, give an input[type="file"] and then hide it. When you click the area where the plus sign is located, the click event for file selection is triggered.

Note: When getting the value of src, use v-bind:src="imgsrc"; using src="imgsrc" or src="{{imgsrc}}" will result in an error.

Code: (some styles omitted, mainly adding and deleting methods)

<template>
 <div id="originality">
    <div class="ipt">Main image:</div>
    <div class="picture">
     <div class="Mainpicture">
      <div class="iconfont icon-jia" @click="uploadPic('filed')"></div>
     </div>
     <!--You can add multiple pictures to the main picture-->
     <div id="img" v-for="(imgsrc,index) in imgsrcs">
      <img id="imgshow" :src="imgsrc">
      <div class="iconfont icon-cha" @click="deleteMulPic(index)"</div>
     </div>
    </div>
    <input id="filed" type="file" multiple="multiple" accept="image/*,application/pdf" style="display: none;" @change="changeMulPic()">
 
    
 </div>
</template>
 
<script>
 export default {
  name: "originality",
  components:
 
  },
  data() {
   return {   
    imgsrcs: []
   }
  },
  methods: {
   uploadPic: function(val) {
    document.getElementById(val).click();
   },
   changeMulPic: function() {
    var file = $("#filed").get(0).files[0];
    $("#img").show();
    this.imgsrcs.push(window.URL.createObjectURL(file))
   },
   deleteMulPic: function(index) {
    this.imgsrcs.splice(index, 1);
   }
  }
 }
</script>
 
<style scoped>
 
 .MainPicture {
  float: left;
  width: 100px;
  height: 100px;
  background: rgba(255, 255, 255, 1);
  border-radius: 2px;
  border: 1px solid #E5E9F2;
 }
 
 .picture {
  min-height: 100px;
 }
 
 .files {
  display: none;
  float: left;
 }
 
 #img {
  margin-left: 20px;
  float: left;
  width: 100px;
  height: 100px;
  border-radius: 2px;
  border: 1px solid #E5E9F2;
 }
 
 .icon-cha {
  cursor: pointer;
  position: absolute;
  width: 10px;
  height: 10px;
  margin-left: 85px;
  margin-top: -100px;
  color: #BFC5D1;
 }
 
 #imgshow {
  width: 100px;
  height: 100px;
 }
 
 .icon-jia {
  text-align: center;
  width: 20px;
  height: 20px;
  line-height: 20px;
  color: #BFC5D1;
  padding: 40px;
  cursor: pointer;
 }
 
</style>

The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM.

You may also be interested in:
  • Vue click button to dynamically create and delete component functions
  • Detailed explanation of how to add and delete elements in Vue
  • Vue implements delete element of deleted object
  • Summary of common ways to click and delete in Vue

<<:  How to install mysql5.7.24 binary version on Centos 7 and how to solve it

>>:  Solution to the problem that Docker container cannot be stopped or killed

Recommend

How to deploy the crownblog project to Alibaba Cloud using docker

Front-end project packaging Find .env.production ...

Detailed explanation of MySQL database Event scheduled execution tasks

1. Background As the project's business conti...

Docker starts in Exited state

After docker run, the status is always Exited Sol...

MySql inserts data successfully but reports [Err] 1055 error solution

1. Question: I have been doing insert operations ...

JavaScript event delegation principle

Table of contents 1. What is event delegation? 2....

Basic ideas for finding errors in Web front-end development

WEB development mainly consists of two interactio...

Detailed explanation of the basic commands of Firewalld firewall in Centos7

1. Basics of Linux Firewall The Linux firewall sy...

Tips for using the docker inspect command

Description and Introduction Docker inspect is a ...

Tutorial on installing MySQL with Docker and implementing remote connection

Pull the image docker pull mysql View the complet...

CSS to achieve scrolling image bar example code

On some websites, you can often see some pictures...

Detailed explanation of Docker basic network configuration

External Access Randomly map ports Using the -P f...

Solution to the low writing efficiency of AIX mounted NFS

Services provided by NFS Mount: Enable the /usr/s...