在表格中,有如下需求(后台给的数据为数字)
前后端决定0代表正式服务,1代表试用服务,2代表未服务,这样后端给的状态是012,怎么把标识转换成文字填入表格呢?
首先需要自己定义一组转换表
statusData: {
'0': {
label: '正式服务'
},
'1': {
label: '试用服务'
},
'2': {
label: '未服务'
}
然后我用的是elementui的表格组件
element表格可以通过 scoped slot 可以获取到 row, column, $index 和 store(table 内部的状态管理)的数据
<el-table-column
label="使用情况">
<template slot-scope="scope">
{{ scope.row.isState ? statusData[(scope.row.isState)].label : '正式服务' }}
</template>
</el-table-column>
注意:三目运算符的使用
正式服务是用0来代表的,0位非真,会执行冒号后面的,所以冒号后面要写正式服务。
表达式1 ? 表达式2 : 表达式3
(1)表达式1是关系表达式或者是逻辑表达式,用于描述条件,表达式2和表达式3可以是常量变量或者表达式
(2)执行顺序:先求解表达式1,若值为非0,表示条件为真。则求解表达式2,并且返回表达式2的结果,如果值是0,就表示假,求解表达式3,并且返回表达式3的结果。一个条件表达式,不会既计算表达式2,又计算表达式3。