【Vue】在method使用return 没有反应?怎么解决

本文介绍了在使用Vue和ElementUi开发时遇到的一个问题:试图根据品牌ID在前端获取并显示车辆品牌名称。最初的方法是通过forEach遍历数组,但在实际应用中并未生效。解决方案是在forEach内部设置一个局部变量存储匹配到的品牌名称,最后返回该变量。此问题提醒我们,处理数据时要注意正确返回结果。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

今天在使用Vue+elementUi编写表格的时候,想获取当前车辆的 品牌名称,由于没有进行两表联查,其他下拉框已经查询了所有车辆类型。就想着写一个 方法,传入类型编号,在前端使用forEach解决

一、示例

表格显示列

	 <el-table-column label="车类型" align="center">
        <template slot-scope="scope">
           <!-- {{ this.brandList.filter(data =>  data.brandId == scope.row.brandId).brandName}} -->
           <span>{{getBrandName(scope.row.makeBrandId)}} </span>
        </template>
      </el-table-column>

方法实现

 /**
     * 根据汽车类型获取类型名称
     */
    getBrandName (makeBrandId) {
        this.brandList.forEach(item => {
            if(item.brandId == makeBrandId) {
                  return  item.brandName
            }
        })
    },

是不是感觉非常的好,没什么问题,但是让我失望了,没有任何反应

二、解决方法

非常的简单,只用把匹配的值通过局部变量存储起来,到最后返回即可

     /**
      * 根据汽车类型获取类型名称
      */
     getBrandName (makeBrandId) {
         let brandName = "";
         this.brandList.forEach(item => {
             if(item.brandId == makeBrandId) {
                 brandName = item.brandName
             }
         })
        return brandName
     },

总结

不要卡在一个地方,要灵活变通,先出效果,再谈最好的方式,但是这个原因笔者还没有理解,先记录一下,
如有知道的读者,虚心请教!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值