将多层级数据结构转换为多个el-table表格数据源

在实际应用中,我们经常遇到多层级的数据结构,例如:

let a= [
    {
        '一检': {
            '检验数量': 34,
            '合格数量': 12,
            '不良数量': 22
        }
    },
    {
        '二检': {
            '检验数量': 31,
            '合格数量': 10,
            '不良数量': 21
        }
    },
    {
        '三检': {
            '检验数量': 13,
            '合格数量': 13,
            '不良数量': 0
        }
    }
]

如果我们希望将这种数据结构展示在多个el-table表格中,就需要将其转换为el-table表格所需的数据格式。

编写转换函数

我们可以编写一个函数,该函数接受一个列表作为参数,并将其转换为适应多个el-table表格的数据格式。以下是一个可能的实现:

def convert_to_el_table_data(data):
    result = []
    for item in data:
        for key, value in item.items():
            table_data = {
                'name': key,
                'data': [
                    {'label': '检验数量', 'value': value['检验数量']},
                    {'label': '合格数量', 'value': value['合格数量']},
                    {'label': '不良数量', 'value': value['不良数量']}
                ]
            }
            result.append(table_data)
    return result

converted_data = convert_to_el_table_data(a)
print(converted_data)

输出结果

[
    {
        'name': '一检',
        'data': [
            {'label': '检验数量', 'value': 34},
            {'label': '合格数量', 'value': 12},
            {'label': '不良数量', 'value': 22}
        ]
    },
    {
        'name': '二检',
        'data': [
            {'label': '检验数量', 'value': 31},
            {'label': '合格数量', 'value': 10},
            {'label': '不良数量', 'value': 21}
        ]
    },
    {
        'name': '三检',
        'data': [
            {'label': '检验数量', 'value': 13},
            {'label': '合格数量', 'value': 13},
            {'label': '不良数量', 'value': 0}
        ]
    }
]

使用结果

这样,你就可以将converted_data作为多个el-table表格的数据源。每个表格可以使用name作为标题,data作为表格的行数据。

例如,你可以使用以下代码创建三个el-table表格:

<template v-for='(item, index) in converted_data' :key='index'>
  <el-table :data='item.data' :title='item.name' stripe>
    <el-table-column prop='label' label='指标' width='120'></el-table-column>
    <el-table-column prop='value' label='数值'></el-table-column>
  </el-table>
</template>

总结

通过上述方法,我们可以将多层级数据结构转换为适应多个el-table表格的数据格式,方便用户理解和分析数据。


原文地址: https://www.cveoy.top/t/topic/hYn1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录