You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 11中*ngIf结构指令失效,表格内容全隐藏求助

问题解决:*ngIf无法正常切换内容显示隐藏,导致表格内容全部隐藏

核心问题

你代码里的***ngif是错误写法**,Angular的结构指令*ngIf严格区分大小写,小写的f会让Angular无法识别该指令,进而导致渲染逻辑异常,出现内容全部隐藏的问题。

修复步骤

将HTML中所有的*ngif替换成*ngIf,修正后的关键代码片段如下:

<tbody>
    <tr *ngFor="let user of userElement; let i = index">
      <td>{{user.isEdit}}</td>
      <td>
        <div *ngIf="!user.isEdit">
        {{user.position}}
      </div>
      <div *ngIf="user.isEdit">
        <input type="text" class="form-control" name="position" [(ngModel)]="user.position" />
      </div>
      </td> 
      <td>
        <div *ngIf="!user.isEdit">
          {{user.name}}
        </div>
        <div *ngIf="user.isEdit">
          <input type="text" class="form-control" name="name" [(ngModel)]="user.name"/>
        </div>
      </td> 
      <td>
        <div *ngIf="!user.isEdit">
          {{user.Weight}}
        </div>
        <div *ngIf="user.isEdit">
          <input type="text" class="form-control" name="Weight" [(ngModel)]="user.Weight"/>
        </div>
      </td> 
      <td>
        <div *ngIf="!user.isEdit">
          {{user.symbol}}
        </div>
        <div *ngIf="user.isEdit">
          <input type="text" class="form-control" name="symbol" [(ngModel)]="user.symbol"/>
        </div>
      </td> 
      <td>
       <div class="row" *ngIf="!user.isEdit"> 
          <div class="col-md-6">
            <i class="fa-solid fa-pencil" (click)="isEdit(user)" ></i>
          </div>
          <div class="col-md-6">
            <i class="fa-sharp fa-solid fa-trash" (click)="delete(user)"></i>
          </div>
        </div> 
        <div class="row" *ngIf="user.isEdit">
          <div class="col-md-6">
            <i class="fa-sharp fa-solid fa-floppy-disk" (click)="save(user)"></i>
          </div>
          <div class="col-md-6">
            <i class="fa-solid fa-xmark" (click)="close(user)"></i>
          </div>
        </div>
      </td> 
    </tr>
  </tbody>

额外检查点

  • 确认userElement数组中每个对象的isEdit初始值为布尔类型(true/false),避免因undefined或其他类型导致判断异常。
  • 检查组件中的isEdit、save、close方法是否正确修改了user.isEdit的值,示例逻辑如下:
isEdit(user: any) {
  user.isEdit = true;
}

close(user: any) {
  user.isEdit = false;
}

save(user: any) {
  // 执行保存逻辑
  user.isEdit = false;
}

内容的提问来源于stack exchange,提问作者Bhushan Khaladkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 20:20:23