根据后台返回数据设置动态表头及表单内容操作
【1】前端表单样式
<el-table
size="small"
:data="listData" //表单数据绑定
highlight-current-row
v-loading="loading"
border
element-loading-text="拼命加载中"
@selection-change="handleSelectionChange"
style="width: 100%"
>
<div v-for="(item, index) in table_head" :key="index">
<el-table-column
:prop="item.prop"
:label="item.label"
></el-table-column>
</div>
</el-table>
注意:v-for写在非template上,添加:key没有任何问题,但是写在template上就不行了,加了就报错。
【2】数据格式
利用prop属性绑定对应值,label绑定表头。
{
"prop": "checkStatData",
"label": "日期"
},
{
"prop": "checkStatName",
"label": "姓名"
},
{
"prop": "checkStatNum",
"label": "工号"
},
【3】表头及表单内容对应不同的数组,实现方法
data(){
return{
listData: [], //表单数据
table_head: [], //表头数据
}
}
CheckStatInfos(parameter)
.then((res) => {
this.loading = false;
if (res.data.status == 500) {
this.$message({
type: "info",
message: res.data.message,
});
} else {
this.listData = res.data.data[1].data;//表头
this.table_head = res.data.data[0].type;//表单数据内容
// 分页赋值
this.pageparm.currentPage = res.data.pageNum;
this.pageparm.pageSize = res.data.pageSize;
this.pageparm.total = res.data.totalSize;
}
})