如何在vue组件上传图片逐个显示?

Suc*_*Man 3 vue.js vue-component vuex vuejs2

我的代码是这样的:

<div id="app">
  <div v-for="item in items">
    <div v-if="!image">
      <h2>Select an image</h2>
      <input type="file" @change="onFileChange">
    </div>
    <div v-else>
      <img :src="image" />
      <button @click="removeImage">Remove image</button>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

演示和完整代码如下:https : //codepen.io/moschel26/pen/jwdMgp

有5个输入文件。我想当我在输入文件 3 上上传图像时,图像只显示在 img 3 上。当我在输入文件 5 上上传图像时,图像只显示在 img 5 上。等等

我怎样才能做到这一点?

Emī*_*bis 6

您应该制作对象数组来设置上传的图像。

<div id="app">
  <div v-for="item in items">
    <div v-if="!item.image">
      <h2>Select an image</h2>
      <input type="file" @change="onFileChange(item, $event)">
    </div>
    <div v-else>
      <img :src="item.image" />
      <button @click="removeImage(item)">Remove image</button>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

完整示例:https : //codepen.io/emis/pen/VWgpaJ