簡體   English   中英

將 v-for 循環中的值獲取到 vuejs 中的方法中

[英]Get value in v-for loop into methods in vuejs

<form method="post" action="#" enctype="multipart/form-data">
<div class="row">
    <div class="col-md-12">
       <div class="image-upload" v-for="(item, index) in uploadVal" :key="item._id">
          <label class="btn btn-sm btn-success">
              <a-icon type="upload" />Upload
              <input
                type="file"
                ref="file"
                accept="image/*"
                @change="handleClickUpload"
                style="display: none;"
              />
        </label>
        <div class="show-img">
            <img :src="getImageURL(item.url)" />
        </div>
       </div>
    </div>
</div>
</form>

在方法中:

methods: {
   handleClickUpload(e) {
      console.log(e.target.files);
   },
}

我正在 vuejs 中上傳圖片。 我想在方法的handleClickUpload下獲取v-for循環的index值。 有沒有辦法在handleClickUpload中獲取index 請給我想法。謝謝

您可以將 function 傳遞給它,並將eventindex從外部傳遞為:

<input
  type="file"
  ref="file"
  accept="image/*"
  @change="(e) => handleClickUpload(e, index)"
  style="display: none"
/>

現場演示

Codesandbox 演示

並獲取 function handleClickUpload中的索引為:

handleClickUpload(e, i) {
  console.log(e.target.files);
  console.log(i);
},

嘗試這個:

@change="handleClickUpload($event, index)"
methods: {
  handleClickUpload(e, i) {
    console.log(e.target.files, i);
  },
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM