Angular 如何有条件地更改mat单元格行的内容,其中as列单元格值将动态显示

Angular 如何有条件地更改mat单元格行的内容,其中as列单元格值将动态显示,angular,angular-material-table,Angular,Angular Material Table,我已经通过mat table动态呈现了列单元格值,我的要求是根据呈现的列单元格值以不同方式显示mat单元格的内容 我是angular的新手,我已经尝试了在谷歌看到的所有可能的解决方案,但都没有帮到我 考虑到我有两列单元格值动态呈现 1.2.主要收入 基于单元格值的上述两列的内容应不同。 解除个性化-用户应该能够看到复选框, 主要收入-用户应能够输入最小值和最大值 我在下面给出了复选框以及最小值和最大值的代码 请帮助我,如果有一种方法来呈现我们想要的行单元格数据代码。提前谢谢

我已经通过
mat table
动态呈现了列单元格值,我的要求是根据呈现的列单元格值以不同方式显示
mat单元格的内容

我是angular的新手,我已经尝试了在谷歌看到的所有可能的解决方案,但都没有帮到我

考虑到我有两列单元格值动态呈现 1.2.主要收入

基于单元格值的上述两列的内容应不同。 解除个性化-用户应该能够看到复选框, 主要收入-用户应能够输入最小值和最大值

我在下面给出了复选框以及最小值和最大值的代码

请帮助我,如果有一种方法来呈现我们想要的行单元格数据代码。提前谢谢

          <mat-cell *matCellDef="let element">
            <!-- below content should be displayed if column-1 cell value == "DealerSize"-->
            <div fxLayout fxLayoutGap="10px" fxLayoutAlign="center cener">
              <div *ngFor="let object of items; let i = index">
                <mat-checkbox>{{ object.text }}</mat-checkbox>
              </div>
            </div>
            <!-- below content should be displayed if column-2 cell value == "Major Revenue" -->
            <div fxLayout fxLayoutGap="10px" fxLayoutAlign="center cener">
              <div>
                <mat-form-field class="width">
                  <input matInput placeholder="Min Value" />
                </mat-form-field>
              </div>
              <div>
                <mat-form-field class="width">
                  <input matInput placeholder="Max Value" />
                </mat-form-field>
              </div>
          </mat-cell>

{{object.text}}

因此,关于您的逻辑,您可以这样做:

<table mat-table [dataSource]="dataSource">

      <!-- col DealerSize -->
      <ng-container matColumnDef="position">
        <th mat-header-cell *matHeaderCellDef> DealerSize </th>
        <td mat-cell *matCellDef="let element"> 
       <mat-checkbox>{{ object.text }}</mat-checkbox>
      </td>
      </ng-container>

      <!-- col Major Revenue -->
      <ng-container matColumnDef="position">
        <th mat-header-cell *matHeaderCellDef> DealerSize </th>
        <td mat-cell *matCellDef="let element"> 
              <div>
                <mat-form-field class="width">
                  <input matInput placeholder="Min Value" />
                </mat-form-field>
              </div>
              <div>
                <mat-form-field class="width">
                  <input matInput placeholder="Max Value" />
                </mat-form-field>
              </div>
      </td>
      </ng-container>

      <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
      <tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
    </table>

脱色
{{object.text}}
脱色

可以为这两列定义模板。如果是你想要的,就告诉met。如果没有,请创建一个stackblitz()或类似的东西来重现您的需求

您好,谢谢您对我的问题的回复。这里是stackbliz项目-。我相信你的方法坚持静态的方式正确,请看一下我的项目,这样我将很容易让你知道我的要求。谢谢,洛蒂会尝试更新你的stackblitz,但你用的是一种奇怪的方式。如果是你想要的,请告诉我。嗨,兄弟……很抱歉反应太晚,在看了你的代码后,无法有机会访问它。你的方法对我很有效..我可以根据实际需要解决我的问题,,,非常感谢。不用担心,很高兴帮助你:)