我想用材料角2的mat表制作一个可扩展的数据表.行可以包含子行。
我的行数据是一个可以包含其他子对象的对象。
使用材质角表组件或垫表,可以定义多行类型并选择应用于当前迭代的行类型。
但是,是否有一种方法可以在同一迭代过程中生成多个类型的行?
我是否被迫将子项添加到为mat-tabke提供的数据源中,或者是否可以为其提供包含子项的项,并生成包含项目数据的1行和每个子项的1行?
我试着效仿这个答案的模式。
所以我在我的component.ts中定义了这些行
<mat-row *matRowDef="let rule; columns: ['expandedDetail']; when: isExpansionDetailRow"
[@detailExpand]="rule.element == expandedElement ? 'expanded' : 'collapsed'"
style="overflow: hidden">
</mat-row>
<mat-row *matRowDef="let rule; columns: ['expandedDetail']; when: isExpansionDetailRow"
[@detailExpand]="rule.element == expandedElement ? 'expanded' : 'collapsed'"
style="overflow: hidden">
</mat-row>但是,当isExpansionDetail为true并且选择了第二个行类型时,它会“重写”第一个行类型,这是不会生成的。
发布于 2019-09-23 19:12:28
检查是否适合您,将下一个属性添加到您的表multiTemplateDataRows中
<table mat-table [dataSource]="dataSource" class="mat-elevation-z8" multiTemplateDataRows>在这里阅读更多关于https://material.angular.io/cdk/table/api的信息
https://stackoverflow.com/questions/50039962
复制相似问题