简体   繁体   English

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

[英]How to pass selected row value of table to button click event - Material design - Angular 6

my previous question was not clear. 我以前的问题不清楚。 Allow me to ask again clearly as I'm struggling complete my task. 在努力完成任务时,请允许我再次清楚地询问。

I've mat-table along with checkbox for every row. 我在每一行都有mat-table和复选框。 (No master checkbox). (没有主复选框)。 whenever I select the row I should send the values of the selected row to button which is outside of the table. 每当我选择行时,我都应该将所选行的值发送到表外的按钮。

[if I have a button inside the table, I could do that by accessing the default ELEMENT from *matCellDef="let element" variable if the button present inside the table. [[如果我在表中有一个按钮,我可以通过从*matCellDef="let element"变量访问默认的ELEMENT*matCellDef="let element"如果该按钮存在于表中)。

But I don't know how to pass the selected row value to the button. 但是我不知道如何将选定的行值传递给按钮。 I've to do routing based on the value from the selected row. 我必须根据所选行中的值进行路由。

so far I've. 到目前为止,我已经。

HTML 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 TS

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

}

use the (change) event 使用(change)事件

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


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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM