我只想發送資料物件 var arrImg 中包含的欄位之一。我要推送的第一件事是 var arrImg 的影像欄位,條件是在 crudData:{'image':[]} 上的新陣列影像中檢查為 true。然后第二個我想將 var arrImg 的欄位名稱推送到 crudData:{'name':[]} 上的新陣列名稱中,條件是檢查為真。Checked 值首先設定為 false,但在單擊輸入復選框時將更改為 true。有人理解我問的情況嗎?我是 javascript 新手。謝謝。
這是我的小提琴https://jsfiddle.net/Annisa_Lianda30/d0ber5Lu/24/
這是我的代碼:
<script>
export default {
data() {
return{
crudData:{
'id': null,
'name': [],
'image': [],
'arrImage': [],
},
}
},
imageUpload(e, maxItem){
let input = this.$refs.uploadImage
let file = input.files
if(file.length > (maxItem - this.crudData.arrImage.length)){
$('#uploadMultiFile').val('')
alert('You can only upload max ' maxItem ' items')
} else {
for(let i = 0; i < file.length; i ){
var valueArr = this.crudData.arrImage.map(function(item){ return item.fileName })
var isDuplicate = valueArr.some(function(item, idx){
return item == file[i].name
})
if (isDuplicate) {
alert("You've already uploaded this file")
continue
}else{
var arrImg = {
blob: URL.createObjectURL(file[i]),
image: file[i],
fileName: file[i].name,
checked: false,
name : null
}
this.crudData.arrImage.push(arrImg)
console.log(this.crudData.arrImage)
}
}
}
},
uploadImage(e){
this.$refs.uploadImage.click()
},
removeImage(key){
this.crudData.arrImage.splice(key, 1)
},
}
這是我從 crudData.arrImage 得到的輸出: 輸出 Javascript
uj5u.com熱心網友回復:
歡迎來到 SO。希望此代碼片段可以幫助指導您尋找所需的內容。
let checkedImages = this.crudData.arrImage.filter(img => img.checked)
let imageFiles = checkedImages.map(img => img.image)
let names = checkedImages.map(img => img.fileName)
console.log({ imageFiles,names })
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/379554.html
標籤:javascript 数组 目的 上传文件 Vuejs3
下一篇:如何將2個物件轉換為單個物件
