angular 开关div问题

发布于 2022-09-11 15:18:42 字数 1830 浏览 18 评论 0

在做一个项目

table的第三个td点击编辑后可以修改

目前做到修改完成 按SAVE后去改data都没问题

就卡在按save后不知如何关掉编辑框

打开编辑框 是点击edit后判断idx = idx 打开指定位置的修改框

我想要按save后 关闭编辑框 显示原本的div

我設idx != idx没用 

有什么解法吗

html

<table class="table container">
    <thead>
      <tr *ngFor="let row of list | slice:0:1">
        <th>{{row.text1}}</th>
        <th>{{row.text2}}</th>
        <th>{{row.text3}}</th>
      </tr>
    </thead>
    <tbody>
      <tr *ngFor="let row of list | slice:1 ; let i=index" [attr.data-index]="i" [class.grayBg]="i % 2 == 0">
        <td>
          {{row.text1}}
        </td>
        <td>
          {{row.text2}}
        </td>

        <td>

          <div class="textWrap" *ngIf="this.i !== editRowId">
            <span>{{row.text3}}</span>
            <button (click)="edit(this.i)" class="btn btn-outline-danger edit-btn">Edit</button>
          </div>


          <div class="editWrap" *ngIf="this.i === editRowId">
            <input type="text" #editText class="form-control" [value]="row.text3">
            <a href="#" (click)="save(this.i,editText.value)">Save</a>
            or
            <a href="#" (click)="cancel()">cancel</a>.
          </div>
        </td>
      </tr>
    </tbody>
  </table>

js


  editRowId = '';

  edit(val){
     //open edit
    this.editRowId = val;

  }

  save(val,editText){
    this.list[val+1].text3 = editText;
    //close edit 没用
    this.editRowId != val;
  }

大概就是要做成这样
http://plnkr.co/edit/lXq1WB?p...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

总以为 2022-09-18 15:18:42

this.i 这块指的什么?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文