最近在做一個(gè)多圖片上傳的組件,需求是做到多文件依次上傳,并顯示上傳進(jìn)度條。
邏輯部分實(shí)現(xiàn)了以后,在更新進(jìn)度條視圖的時(shí)候出現(xiàn)一點(diǎn)問(wèn)題:動(dòng)態(tài)計(jì)算生產(chǎn)的進(jìn)度 progress 屬性不會(huì)自動(dòng)更新。
原來(lái)的代碼是這樣寫(xiě)的:
let files = this.filePicker.files;if(!files.length) { return; } let arr = [];for(let i = 0, len = files.length; i < len; i++) { let item = files[i]; // 每個(gè)文件初始進(jìn)度為0 item.progress = '0'; arr.push(obj); }this.fileArr = arr;
這里直接將 file 對(duì)象添加一個(gè) progress 屬性記錄上傳進(jìn)度,并初始化為0,然后上傳時(shí)候?qū)崟r(shí)計(jì)算更新 progress。但奇怪的是這個(gè) progress 在視圖里并不會(huì)自動(dòng)更新,巋然不動(dòng),一直都是0。還了N中辦法,百思不得其解。