直接说,当后端返回数据中有大量字段需要渲染,且表头在另外一个数组中时。
这时候prop如果手敲会很麻烦,会产生大量el-table-column。
所以就需要使用Object.keys()方法,它可以在tableData中取出键名,生成一个数组。
【我这个IndexSearchList仅仅用来渲染表头使用】
将得到的数组与另外的表头数组循环对比,就可以直接渲染数据了。
<template #default="scope">
<span>
{{ Object.keys(scope.row).findIndex(itemIndex => itemIndex === item.itemCode.toLowerCase()) !== -1 ? scope.row[item.itemCode.toLowerCase()] : '' }}
</span>
</template>
因为我这里两个数组中的开头字母有大小写,所以就转换了一下。