html - 将表格单元格转换为可编辑输入
问题描述
我想创建一个有 2 列的表:Name
, Email
. 每次按 时edit button
,我都想将 转换td
为可编辑的输入。问题是,如果我有更多用户并且我按下编辑按钮,所有用户都将变为可编辑,而不仅仅是选定的用户。我怎么解决这个问题?
<table class="table table-hover">
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col">Email</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let user of usersList">
<td *ngIf="!editUser">{{ user.name }}</td>
<td *ngIf="editUser"><input class=" form-control" size="1" type="text" [(ngModel)]="user.name"></td>
<td *ngIf="!editUser">{{ user.email }}
<td *ngIf="editUser"><input class=" form-control" size="1" type="text" [(ngModel)]="user.email"></td>
<td *ngIf="!editUser">
<a class="action-btn" (click)="onEdit()">
<p class="material-icons pointer">edit</p>
</a>
</td>
</tr>
</tbody>
</table>
editUser: boolean = false
onEdit() {
this.editUser = !this.editUser
}
感谢您的时间!(这就是我想要实现的
解决方案
你有用户的ID吗?
然后你可以做类似的事情:
<tbody>
<tr *ngFor="let user of usersList">
<td *ngIf="editUserId !== user.id">{{ user.name }}</td>
<td *ngIf="editUserId === user.id"><input [(ngModel)]="user.name"></td>
<td *ngIf="editUserId !== user.id">{{ user.email }}
<td *ngIf="editUserId === user.id"><input [(ngModel)]="user.email"></td>
<td *ngIf="editUser !== user.id">
<a class="action-btn" (click)="onEdit(user.id)">
<p class="material-icons pointer">edit</p>
</a>
</td>
</tr>
</tbody>
和
editUserId: number;
onEdit(userId: number) {
this.editUserId = userId;
}
推荐阅读
- html - 如何修复div中的内容?
- sql - Oracle SQL如何获取rowmax?
- java - 如果它们代表 Sums,如何遍历数组列表?
- reactjs - 尽管在 React 应用程序中成功提交,但更新查询在 10 秒后超时
- java - 使用 build-helper-maven-plugin 从 Jar 中排除文件
- android - Firebase Chat Recycler View 左右视图不工作 Android
- javascript - 如何在Javascript中从字符串右侧每三个字符添加一个空格?
- python - keras 深度学习模型分割的网格搜索 GridSearchCV
- javascript - 如何在内容可编辑的 img 之后定位插入符号
- python - 如何使用 spark.read.jdbc 读取不同 Pyspark 数据帧中的多个文件