【问题标题】:How to pass selected row value of table to button click event - Material design - Angular 6如何将表格的选定行值传递给按钮单击事件 - 材料设计 - Angular 6
【发布时间】:2019-04-17 05:14:09
【问题描述】:

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

我已经为每一行添加了 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'])

}

【问题讨论】:

    标签: javascript angular typescript angular-material


    【解决方案1】:

    使用(change) 事件

      <mat-checkbox class="select-checkbox" [(ngModel)]="checkedbtn" (change)="onChange(element)" ></mat-checkbox>  
    
    
    onChange(row){
      // put the row whenever you want
    }
    

    【讨论】:

    • 感谢您的快速响应。现在能够获得行值。我的问题是如何将选定的行值传递给点击事件。
    • 调用任何你调用的函数按钮点击这里
    • 你的意思是这样callBtn(){ this.onChange(row); }。如果是,它给了我 找不到名称“行”
    • 是的。我已经更新了我的 HTML 和 ts sn-p。你能重温一下吗
    • 感谢您的宝贵时间。最后,我通过调用服务并传递路由值来解决它
    猜你喜欢
    • 2019-04-12
    • 2022-06-26
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 2022-12-10
    • 2023-04-05
    • 2013-08-05
    相关资源
    最近更新 更多