問題場景

 

我們在一個列表中分別都需要有upload組件的時候也就涉及到了多個upload同時存在;

因為一般可以在success回調(diào)中拿到上傳成功的圖片已經(jīng)成功的response,多個也可以,這個沒毛??;

文檔如下:

 平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

 

!?。〉?,當多個同類型的upload同時存在的時候,我在怎么知道回調(diào)里面的fileList該與誰關(guān)聯(lián)呢?

例如這種情況

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

 

這兩個甚至無數(shù)個“步驟”,對應(yīng)的是vue data 里面的某個數(shù)組,如:

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

圖圖
    },
    {
      圖
    }    ]     }    

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

假設(shè)這個時候我們點擊第一個BOX里面的圖片上傳,然后拿到對應(yīng)的對調(diào)參數(shù),(response,file,fileList)

說白了,我不知道該把這個fileList給誰處理,是this.arr[0] , 還是 this.arr[1]。

 

一般項目中處理這種類似問題的時候是把對應(yīng)的item通過這個函數(shù)傳過來

如:

:on-success="handleProcedureSuccess(item)"

不過顯然不行,如果我傳實參了,那么組件內(nèi)定義的幾個參數(shù)就過不來了,覆蓋了;

然后我就想這,我非得把當前item給傳到這個方法里去,不然沒法操作。

無奈····,改改改,經(jīng)過我努力搜尋發(fā)現(xiàn)要修改這個文件

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

在項目里面找到node_modules/element-ui/lib/element-ui.common.js

我們在props里面加一個要父組件傳過來的參數(shù),隨便叫啥啦

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

然后繼續(xù)往下找到,this.onSuccess的執(zhí)行地點,加上這個參數(shù)

 平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

好了這里改好了,再到我們的頁面里,寫組件的時候多傳個參數(shù),我這里傳的是數(shù)組的索引

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

 

 OK啦,再然后在success回調(diào)的時候就會多出一個參數(shù),就是我們傳進去這個自定義的值啦

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

由此,用第四個參數(shù)去決定你處理的是第幾個數(shù)組元素。

http://www.cnblogs.com/AlexBlogs/p/7150532.html