首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mat Table into mat对话框

Mat Table into mat对话框
EN

Stack Overflow用户
提问于 2021-07-07 01:26:44
回答 1查看 27关注 0票数 0

您好,我正在尝试将一个mat-table放在mat对话框的内容中,但它没有显示数据。

这是dialog-content.html

代码语言:javascript
复制
<mat-dialog-content class="pb-3" *ngIf="action == 'Update';">
<form #userForm="ngForm">
<table mat-table [dataSource]="dataSource2" class="table employee-list no-wrap">

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

    <ng-container matColumnDef="employee_view">
      <th mat-header-cell *matHeaderCellDef>Employee View</th>
      <td mat-cell *matCellDef="let element"> 
          <!-- {{element.name}} -->
          <input type="text" value="{{element.employee_view}}">
          <mat-checkbox [disabled]="true" color="primary" [checked]="row.employee_view" (change)="checkCheckBoxvalue($event,row.perfilid, employee_view_name)"></mat-checkbox>
      </td>
    </ng-container>

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

这是component.ts

代码语言:javascript
复制
  dataSource2 = new MatTableDataSource<any>();
  displayedColumns2: string[] = ['name', 'employee_view'];

  constructor(
      public datePipe: DatePipe,
      public apiSvc: ProfileService,
      public snackBar: MatSnackBar,
      public translate: TranslateService,
      public dialogRef: MatDialogRef<ProfileDialogContent>,
      // @Optional() is used to prevent error if no data is passed
      @Optional() @Inject(MAT_DIALOG_DATA) public data: Profile) {
      this.local_data = { ...data };
      console.log(this.local_data);
      
      this.action = this.local_data.action;
      this.dataSource2.data = this.local_data;
      console.log(this.dataSource2);
  }

并在我单击铅笔按钮进行更新时显示此信息

Image

如果有帮助,下面是我传递给dataSource的数组图像

array

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-07 01:44:57

数据源需要是一个数组。您传递了一个对象。当您将数据传递给数据源时,只需将数据包装到一个数组中,就可以解决您的问题。

代码语言:javascript
复制
this.dataSource2.data = [this.local_data];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68274990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档