【问题标题】:AngularMaterial - MatRipple is displaying ripple outside table rowAngular Material - Mat Ripple 在表格行外显示波纹
【发布时间】:2018-12-13 05:50:27
【问题描述】:

我试图在点击时在表格行中使用matRipple。但是,涟漪效应在特定表行tr 之外流动。但是,它对table td. 起作用。效果应该在MatButton 中发生的边界内。

链接:-https://stackblitz.com/edit/angular-material-2ahyd7?file=app/app.component.html

<table>
      <tbody>
        <tr matRipple  (click)="callalert()">
          <td>sss</td>
          <td>ssssss</td>
        </tr>
        <tr matRipple  (click)="callalert()">
          <td>sss</td>
          <td>ssssss</td>
        </tr>
        <tr matRipple  (click)="callalert()">
          <td>sss</td>
          <td>ssssss</td>
        </tr>
        <tr matRipple  (click)="callalert()">
          <td>sss</td>
          <td>ssssss</td>
        </tr>
      </tbody>
    </table>

【问题讨论】:

    标签: angular angular-material


    【解决方案1】:

    看起来这是一个已知问题:https://github.com/angular/material2/issues/11883

    使用mat-table 的潜在解决方法

    <table mat-table [dataSource]="items">
        <!-- Name Column -->
        <ng-container matColumnDef="name">
          <mat-header-cell *matHeaderCellDef> Name </mat-header-cell>
          <mat-cell *matCellDef="let item"> {{item.name}} </mat-cell>
        </ng-container>
    
        <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
        <mat-row *matRowDef="let row; columns: displayedColumns;" matRipple></mat-row>
    </table>
    

    您还可以创建一个.ripple CSS 类并将该类应用到您想要波纹的行:

    .ripple {
      background-position: center;
      transition: background 0.8s;
    }
    .ripple:hover {
      background: white radial-gradient(circle, transparent 1%, white 1%) center/15000%;
    }
    .ripple:active {
      background-color: #ccc;
      background-size: 100%;
      transition: background 0s;
    }
    

    【讨论】:

    • 谢谢乔尔,我没有在这里使用 mat-table,而是我只在 table(不是 Mat-table)内使用 mat-ripple。但是,matRipple 在表 td(Stackblitz 上方)上运行良好
    • @Mahi - 嗯。您可能必须使用 mat-table 才能使事情正常工作。这不是一个选择吗?
    • 我无法删除我当前的表格代码。我想知道它适用于表 td 但不适用于表 tr。为什么?如果当前方案中的任何解决方法可用,您能帮我解决吗?
    • @Mahi - 我明白了。我使用您可以使用的自定义 CSS 类编辑了答案。
    • 但是涟漪效应是不可见的,因为它对于 matRipple。请看stackblitz.com/edit/angular-material-2ahyd7?file=app/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-11
    • 2020-09-20
    • 2021-01-03
    • 1970-01-01
    • 2021-12-18
    • 2018-08-27
    • 2019-05-11
    相关资源
    最近更新 更多