是否可以仅针对字符串而不是已定义的对象设计Mattable数据源?

时间:2018-10-25 09:24:46

标签: angular typescript angular-material

我有一个名为

的字符串数组
customers: string[] = ['Nazmul', 'Feroz', 'Nitul', 'Himel', 'Arafat', 'Habib'];

另一个名为

的Mat table数据源列标题
displayedColumns: string[] = ['select', 'ApplicableRelationList'];

现在我要将客户数据插入名为matTableDataSource的

dataSourceForRelation: MatTableDataSource<string>;

this.dataSourceForRelation = new MatTableDataSource(this.customers);

现在在html中,我想使用以下代码显示mat表数据,

<div class="data-list">
          <table mat-table [dataSource]="dataSourceForRelation" class="mat-elevation-z8">

            <!-- Checkbox Column -->
            <ng-container matColumnDef="select">
              <th mat-header-cell *matHeaderCellDef>
                <mat-checkbox (change)="$event ? masterToggleForSave() : null"
                              [checked]="selectionForSave.hasValue() && isAllSelectedForSave()"
                              [indeterminate]="selectionForSave.hasValue() && !isAllSelectedForSave()">
                </mat-checkbox>
              </th>
              <td mat-cell *matCellDef="let row">
                <mat-checkbox (click)="$event.stopPropagation()"
                              (change)="$event ? selectionForSave.toggle(row) : null"
                              [checked]="selectionForSave.isSelected(row)">
                </mat-checkbox>
              </td>
            </ng-container>

            <ng-container matColumnDef="ApplicableRelationList">
              <th mat-header-cell *matHeaderCellDef> ApplicableRelationList </th>
              <td mat-cell *matCellDef="let element"> {{element}} </td>
            </ng-container>


            <tr mat-header-row *matHeaderRowDef="displayedColumnsForSave; sticky: true"></tr>
            <tr mat-row *matRowDef="let row; columns: displayedColumnsForSave;"
                (click)="selectionForSave.toggle(row)">
            </tr>
          </table>
        </div>

但是此表未显示任何数据或错误。我搜索了这些问题,但没有任何解决方案很方便。许多解决方案表明Mattable的对象看起来像MatTableDataSource<Branch>类型。

Branch {
name: string;
id: number;
}

但是我想输入 MatTableDataSource<string> 。可能吗?如果是,将采取什么解决方案?提前致谢。

0 个答案:

没有答案