[{},{},{}], 在數組中的每個對象上添加一個字段實現vue el-option下拉框部分不可選功能

適用場景:因爲實際項目開發中,el-option的數據肯定是從後臺獲取的,後臺不一定給我所有想要的數據,就比如後臺返給我的是若干個對象組成的數組,這個數組組成下拉框,但是我們頁面顯示要求這個下拉框裏的部分可選部分不可選,那要怎麼解決這個問題呢?這就涉及到給數組對象統一添加字段和el-option實現部分不可選功能的問題了。核心代碼如下:

1.template部分:

<el-select>
    <el-option v-for="(item,i) in this.arrAfter :key="i" :label="item.name" :value="item.code" :disabled="item.disabled"/>
</el-select>

其中,this.arrAfter是我們最後處理的結果,:disabled="item.disabled"是爲了實現不可選功能,這裏假設後臺傳給我們的對象形式爲{name:'xxx',code:'xxx'},所以要給每個對象加一個disabled屬性,才能實現不可選功能。

2.script部分

mounted(){
    // 從後臺獲取數組,賦值給原數組
    let result = response.data
    // 聲明一個空數組用來村新數組
    this.arrAfter = []
    // 給要添加的字段賦值
    result.disabled = true
    // 循環原數組
    result.forEach(item=>{
    // 要添加的新字段
    item.disabled = result.disabled
    this.arrAfter.push(item)
})
    //以上步驟實現了arrAfter爲result數組新增了字段的功能,下面實現部分可選功能
    for(let i=0;i<this.arrAfter.length;i++){
        if(i%2 == 0){
            this.arrAfter[i].disabled = false
}
}
    
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章