我正在创建一个可重用的mat-table组件,该组件接受2个输入:列元数据和表数据。列元数据如下:
var metadata:[
{
'colName' : 'WO',
'expanded': false
},
{
'colName' : 'Serial',
'expanded': false
},
{
'colName' : 'Quantity',
'expanded': false
},
{
'colName' : 'Nested',
'expanded': true
}
,表数据数组如下:
var data:[
{
'WO': '2633',
'Serial': '1qqqr4ew',
'Quantity': 5,
'Nested': []
},
{
'WO': '2633',
'Serial': '1qqqr4ew',
'Quantity': 5,
'Nested': [
{
'nestedCol1' : 3e2,
'nestedCol2' : 2,
'nestedCol3' : '01/01/2019'
},
{
'nestedCol1' : 3e2,
'nestedCol2' : 2,
'nestedCol3' : '01/01/2019'
},
{
'nestedCol1' : 3e2,
'nestedCol2' : 2,
'nestedCol3' : '01/01/2019'
}
]
},
{
'WO': '1234',
'Serial': 'qa9011',
'Quantity': 200,
'Nested': [
{
'nestedCol1' : 121,
'nestedCol2' : 21,
'nestedCol3' : '15/03/2019'
},
{
'nestedCol1' : 450,
'nestedCol2' : 24,
'nestedCol3' : '23/07/2019'
},
{
'nestedCol1' : 91,
'nestedCol2' : 12,
'nestedCol3' : '01/05/2019'
}
]
}
]
从元数据对象数组中,我正在构造一个主表列定义,其中“ expanded”属性设置为true的列需要可扩展。在可扩展列中,我需要构建一个嵌套的mat-table(如果适用),该嵌套的mat-table显示来自数据对象数组对应属性(在此示例中为“嵌套”)的嵌套对象数组数据。
将'expanded'属性设置为false的动态列很容易构造并正确显示数据,并且嵌套表也很容易构造。
是否可以根据元数据列数组定义在主表中定义动态可扩展列?
注意, 每个主表只有一个可扩展的列定义,并且并非所有数据对象都具有嵌套对象数组。
我正在使用角度v.8和角度材料v.8
非常感谢。
答案 0 :(得分:0)
据我了解,您想根据数据对象是否具有嵌套元素来动态添加扩展的true或false。
您可以简单地进行迭代并检查嵌套长度来做到这一点。