问题描述
后端获取的数据:
tableData是一个数组
[
{
"type":"A",
"t1":"张三",
"t2":"A01"
},
{
"type":"B",
"t1":"李四",
"t2":"初一3班"
},
{
"type":"A",
"t1":"王晓六",
"t2":"A02"
},
{
"type":"B",
"t1":"秦汉",
"t2":"初二1班"
}
]
其中type有两个值A,B。type=A时在表格一中显示,type= B时在表格二中显示。效果如图
解决思路
表格一、二分别绑定不同的数据源t1、t2
对后端传来数据tableData进行遍历,type=A的数据添加到t1,type=B的数据添加到t2。
实现代码
<script setup>
import { ref } from 'vue'
const tabelData = ref([
{
"type":"A",
"t1":"张三",
"t2":"A01"
},
{
"type":"B",
"t1":"李四",
"t2":"初一3班"
},
{
"type":"A",
"t1":"王晓六",
"t2":"A02"
},
{
"type":"B",
"t1":"秦汉",
"t2":"初二1班"
}
])
const t1 = ref([])
const t2 = ref([])
const tableList =()=>{
t1.value = [];
t2.value = [];
for(let i=0;i < tabelData.value.length;i++){
let item = tabelData.value[i];
if(item.type == 'A'){
t1.value.push(item);
}
if(item.type == 'B'){
t2.value.push(item);
}
}
}
</script>
<template>
<div>
<el-button type="primary" @click="tableList">test</el-button>
</div>
<h3>表格一:</h3>
<div>
<el-table :data="t1" key="t1">
<el-table-column label="姓名" prop="t1"></el-table-column>
<el-table-column label="编号" prop="t2"></el-table-column>
</el-table>
</div>
<h3>表格二:</h3>
<div >
<el-table :data="t2" key="t2">
<el-table-column label="姓名" prop="t1"></el-table-column>
<el-table-column label="年级" prop="t2"></el-table-column>
</el-table>
</div>
</template>
将代码复制成test.vue文件,在vue环境中加载test.vue
点击页面的test按钮,查看加载的效果。