[{},{},{}], 在数组中的每个对象上添加一个字段实现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
}
}
    
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值