【发布时间】:2020-06-17 05:45:37
【问题描述】:
我想为 mat-table 的每个单元格添加工具提示和验证。 因此,一旦用户将数据输入到单元格中,就必须显示该单元格数据的工具提示。 工具提示文本将是 [column-name and data] 的组合。 鼠标悬停/输入后如何获取列名和数据?
动态表的html代码是这样的——
<div class="row" *ngIf="displayedColumns.length > 0" class="mat-elevation-z8">
<div class="table-container">
<table class="table" mat-table [dataSource]="dataSource">
<tr mat-header-row *cdkHeaderRowDef="displayedColumns; sticky:true" ></tr>
<tr mat-row *cdkRowDef="let row; columns: displayedColumns;"></tr>
<ng-container *ngFor="let disCol of displayedColumns; let colIndex = index" [cdkColumnDef]="disCol">
<div *ngIf="disCol != 'addrow'">
<th mat-header-cell *cdkHeaderCellDef>{{disCol}}</th>
<td mat-cell (mouseover)="getData(element.get([disCol]))"
matTooltip={{dataFromService}} style="font-size: 18px !important;" *cdkCellDef="let element ">
<div *ngIf="disCol != 'STATUS' ">
<input id="paste-me" (keyup.enter)="onEnter()" [formControl]="element.get([disCol])">
</div>
<div *ngIf="disCol == 'STATUS' ">
<mat-select [formControl]="element.get([disCol])">
<mat-option [value]="active" *ngFor="let active of activeList">
{{ active }}
</mat-option>
</mat-select>
</div>
</td>
</div>
<div *ngIf="disCol == 'addrow'">
<th mat-header-cell *cdkHeaderCellDef ></th>
<div *ngIf="dynamicRows.length > 0 ? true : false">
<td mat-cell style="width: 120px;" *cdkCellDef="let element; let i = index;">
<input [(ngModel)]="inputValue" placeholder="No.of Rows" *ngIf="i > dynamicRows.length - 1 ? true : false" (keyup.enter)="addnewRow()"/>
</td>
</div>
<div *ngIf="dynamicRows.length === 0 ? true : false">
<td mat-cell style="width: 120px;" *cdkCellDef="let element;" >
<input [(ngModel)]="inputValue" placeholder="No.of Rows" *ngIf="dynamicRows.length === 0 ? true : false" (keyup.enter)="addnewRow()"/>
</td>
</div>
</div>
</ng-container>
</table>
</div>
------
getData(data){
this.dataFromService = 'value';
}
我需要对齐列名和数据。
如何获取这些数据?你能帮忙吗?
【问题讨论】:
-
你试过
[matTooltip]="getData(...)",你的getData方法会返回数据。 -
我试过了,我没有得到每一行的数据。你能在这方面提供更多帮助吗? @Matt Nienow
标签: jquery angular angular-material material-design angular8