【发布时间】:2019-08-23 17:46:14
【问题描述】:
我正在尝试将列添加到 mat 表中,但列添加了多个名称
HTML 文件
<div class="main-content">
<form class="example-form">
<mat-form-field class="example-full-width">
<input
matInput
[(ngModel)]="columnName"
name="columnName"
placeholder="Add Column Here"
/>
</mat-form-field>
<button
mat-button
mat-raised-button
color="primary"
(click)="addColumns()"
>
Add
</button>
<mat-table [dataSource]="columnDataSource">
<ng-container
*ngFor="let column of displayedColumns"
[cdkColumnDef]="column"
>
<mat-header-cell *cdkHeaderCellDef>{{
displayedColumns
}}</mat-header-cell>
<mat-cell *cdkCellDef="let row">{{
displayedColumns
}}</mat-cell>
</ng-container>
<mat-header-row
*matHeaderRowDef="displayedColumns"
></mat-header-row>
<!-- <mat-row *matRowDef="let row; columns: displayedColumns;"></mat-row> -->
</mat-table>
</form>
</div>
TS 文件
import { Component, OnInit } from '@angular/core';
import { MatTableDataSource } from '@angular/material';
/**
* @title Basic use of `<table mat-table>`
*/
@Component({
selector: 'table-basic-example',
styleUrls: ['table-basic-example.css'],
templateUrl: 'table-basic-example.html',
})
export class TableBasicExample implements OnInit {
displayedColumns = [];
columnDataSource: any = [];
columnName: any;
constructor() {}
addColumns() {
this.displayedColumns.push(this.columnName);
this.columnDataSource = new MatTableDataSource<any>(
this.displayedColumns
);
console.log(this.displayedColumns);
}
ngOnInit() {}
}
我想在 mat 表中添加一列,我编写了一些基本逻辑,但是每当我添加一列时,列名都会得到多个名称 这是我的 stackBlitz 链接 --> https://stackblitz.com/edit/add-extra-column-mat-tabe?file=app%2Ftable-basic-example.ts
【问题讨论】:
标签: angular typescript angular-material