gpt4 book ai didi

angular6 - 提供的数据源与 getTableUnknownDataSourceError 中的数组、Observable 或 DataSource 不匹配

转载 作者:行者123 更新时间:2023-12-05 01:17:00 24 4
gpt4 key购买 nike

我是 Angular 和 Angular Material 的新手,

Without Angular Materail it is working fine

<table>
<tr>
<th>City</th>
<th>State</th>
</tr>

<tr>
<td>{{ varEmp?.address.city}}</td>
<td>{{ varEmp?.address.state}}</td>

</tr>

</table>

With Angular Material it is not Working

<table mat-table [dataSource]="varEmp" class="mat-elevation-z8">


<!-- Position Column -->
<ng-container matColumnDef="city">
<th mat-header-cell *matHeaderCellDef> City</th>
<td mat-cell *matCellDef="let element"> {{element?.address.city}} </td>
</ng-container>

<!-- Name Column -->
<ng-container matColumnDef="state">
<th mat-header-cell *matHeaderCellDef> State</th>
<td mat-cell *matCellDef="let element"> {{element?.address.state}} </td>
</ng-container>

<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>

在组件 I 中声明了变量

displayedColumns: string[] = ['city','state'];

简要描述组件代码以降低复杂性

Json Object

{"address":
{"city": "Karwar", "state": "Karnataka"}
}

最佳答案

我偶然发现了这个问题,因为我有一个 json 格式的静态数据源,我需要将它转储到一个 mat-table 中。

这种行为最常见的原因是 json 数据格式不正确。 mat-table 预期的 json 数据格式应为 [{...}, {...}, {...}] .如果无法更改 json 数据的格式,只需像这样将数据转换为 Array

var dataArr = new Array(jsonData));

它会起作用的。

注意 - 将其转换为数组会为数据添加额外的方括号层。您可能需要更改 [dataSource] mat-table 中的属性到 dataArr[0] .

<table mat-table [dataSource]="dataArr[0]">

关于angular6 - 提供的数据源与 getTableUnknownDataSourceError 中的数组、Observable 或 DataSource 不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51799291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com