在表格单元格角度显示更多/更少按钮

Posted

技术标签:

【中文标题】在表格单元格角度显示更多/更少按钮【英文标题】:show more/less button in table cell angular 【发布时间】:2022-01-22 04:54:42 【问题描述】:

我有垫子表,我制作了一个按钮,如果长度 > 某个数字,则隐藏/取消隐藏表格单元格中的文本 但它工作不正确,此按钮打开每个单元格中的所有文本,按钮仅在第一个单元格中有效

 <ng-container matColumnDef="Test">
            <th mat-header-cell *matHeaderCellDef mat-sort-header >Test</th>
            <td mat-cell *matCellDef="let row; let i = index;"> 
              
              <ng-container>
                 show ? (row.Test | slice:0:100) : row.Test 
                
      <button mat-raised-button class="show-less-button" color = 'primary' type="button" *ngIf="row.Test.length > 5;" (click)="( show == i ? show : show = i )">  ((show == i)) ? 'Show less' : 'Show more' 
                </button>
              </ng-container>
              </td>
          </ng-container>

【问题讨论】:

【参考方案1】:

您必须每行隔离它,因为“显示”将针对整个组件,然后只有一个。像这样的:

 <ng-container matColumnDef="Test">
    <th mat-header-cell *matHeaderCellDef mat-sort-header >Test</th>
    <td mat-cell *matCellDef="let row; let i = index;"> 
      
      <ng-container>
         row.show ? (row.Test | slice:0:100) : row.Test 
        
        <button 
            mat-raised-button 
            class="show-less-button" 
            color='primary' 
            type="button" *ngIf="row.Test.length > 5;" 
            (click)="row.show = !row.show">
             ((row.show)) ? 'Show less' : 'Show more' 
        </button>
      </ng-container>
      </td>
  </ng-container>

【讨论】:

我刚刚做了这样的 row.show ? row.Test: (row.Test| slice:0:100) 而且这段代码只在显示更多时有效,在显示更少时什么也不做 已更新,并没有真正发现您正在检查 i。假设.show 是每一行上的一个参数,您可以切换然后检查。

以上是关于在表格单元格角度显示更多/更少按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何使用角度将单元格 colspan 基于条件值?

使用显示/减少按钮展开/折叠表格视图单元格

在 Angular 指令的 HTML 模板的表格单元格中的同一行上显示文本和按钮

动态更改表格视图单元格的高度

如何添加“加载更多”单元格,按下该单元格时会向表格视图添加更多行?

如何处理表视图单元格中的全部打开/全部关闭,每个单元格在 iOS Swift 中具有查看更多/查看更少选项