返回的字段为数字,需要转为对应的状态值,可以使用computed或者methods定义方法
举个栗子:
<el-table-column
label="报警点位 (二次码)"
prop="twoCode"
show-overflow-tooltip
align="left"
min-width="10%"
>
<template slot-scope="scope">
<div>{{showLabel(scope.row.la_make,scope.row.la_loop,scope.row.la_point)}}</div>
</template>
</el-table-column>
//在computed里面定义showLabel
computed:{
showLabel(la_make,la_loop,la_point){
return function(la_make,la_loop,la_point){
if (la_make && la_loop && la_point) {
return la_make + '号主机' + la_loop + '回路' + la_point + '点位';
} else {
return '--';
}
}
},
}
//在methods里面定义showLabel
mtthods:{
showLabel(la_make,la_loop,la_point){
if (la_make && la_loop && la_point) {
return la_make + '号主机' + la_loop + '回路' + la_point + '点位';
} else {
return '--';
}
},
}
理解:关于二者的不同,看看看见了一个说明,细细品一下
computed是属性调用,而methods是函数调用,
这意味着在HTML的插值里,computed定义的方法是以属性访问的形式来调用,如 {{reversedMessageComputed}}
methods定义的方法,则要加上 () 来调用,如 {{reversedNameMethod()}} ,否则视图中会渲染出如下内容
function () { [native code] }
在上面的调用里,使用的是showLabel(scope.row.la_make,scope.row.la_loop,scope.row.la_point),后面是有括号()的,所以在computed里面其实是不可以调用的,会出现未定义,因为是属性调用,不能加括号
而通过曲线救国,在computed是返回了一个函数,所以可以加括号调用
如果直接写在methods里面,那么有括号,当然就可以直接调用了,因为写在methods里面就代表了是一个函数