如何将表格的选定行值传递给按钮单击事件-材质设计-Angular 6

时间:2019-04-17 05:14:09

标签: javascript angular typescript angular-material

我以前的问题不清楚。在努力完成任务时,请允许我再次清楚地询问。

我在每一行都有mat-table和复选框。 (没有主复选框)。每当我选择该行时,都应将所选行的值发送到表外的按钮。

[如果我在表中有一个按钮,可以通过访问*matCellDef="let element"变量中的默认 ELEMENT 来实现,如果该按钮在表中。

但是我不知道如何将选定的行值传递给按钮。我必须根据所选行中的值进行路由。

到目前为止,我已经

HTML

<div><button mat-button  [disabled]="!checkedbtn" (click)='linktomynxtpage()'>link to another page</button></div>

<table #demoTable mat-table [dataSource]="sample" multiTemplateDataRows>
// some ng-container with <th><td>

 <ng-container *ngIf="isAdmin" matColumnDef="actions">
    <th mat-header-cell *matHeaderCellDef> Action </th>
    <td mat-cell *matCellDef="let element">     
      <mat-checkbox class="select-checkbox" [(ngModel)]="checkedbtn" ></mat-checkbox>        
    </td>
  </ng-container>

  <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
  <tr mat-row style="text-align:left" *matRowDef="let element; columns: displayedColumns;" ></tr>
  <tr mat-row *matRowDef="let row; columns: ['expandedDetail']" class="detail-row"></tr>
</table>

TS

linktomynxtpage(){
    //some logics
    //passing row value. and doing routing
    this.nxtPage.navigate(['/home/particular-user'])

}

1 个答案:

答案 0 :(得分:1)

使用(change)事件

  <mat-checkbox class="select-checkbox" [(ngModel)]="checkedbtn" (change)="onChange(element)" ></mat-checkbox>  


onChange(row){
  // put the row whenever you want
}