当前位置: 首页 > 知识库问答 >
问题:

角度,按 ID 从 html 表中删除一行

万嘉石
2023-03-14

这一次我需要有关如何在单击删除按钮时基于html表中的行ID删除行的帮助。表数据源来自单独的Json文件。

表格如下所示:图像链接

<div class="container">
        <table border=1 class="table">
          <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Email</th>
            <th>Age</th>
            <th>Phone</th>
          </tr>
            <tr *ngFor="let d of data | async" [attr.id]="d.id"> <!--each row id == id-->
                <td>{{ d.id }}</td>
                <td>{{ d.name }}</td>
                <td>{{ d.email }}</td>
                <td>{{ d.age }}</td>
                <td>{{ d.phone }}</td>
                <button id="remove">DELETE ROW</button>
            </tr>
        </table> 
    </div>

如果需要更多的片段,请告诉我。谢谢你。

共有3个答案

鲜于凯歌
2023-03-14

我将在按钮上添加一个(click)事件,并将“d”作为参数传递。然后在click调用的函数中,我将拼接“已删除”的项目。

添加(点击)事件的代码:

<button id="remove" (click)="functionToDeleteItem(d)">DELETE ROW</button>

拼接数组并删除已删除项目的示例:

堆栈溢出过去的示例 - 如何在 TypeScript 中删除数组项?

此外,除非您将按钮中的 id=“remove” 用于其他用途(如 css),否则我会将其删除,因为它不需要。

汪德寿
2023-03-14

您可以在 HTML 文件中添加此代码

<div class="container">
            <table border=1 class="table">
              <tr>
                <th>ID</th>
                <th>Name</th>
                <th>Email</th>
                <th>Age</th>
                <th>Phone</th>
              </tr>
                <tr *ngFor="let d of data | async" [attr.id]="d.id"> <!--each row id == id-->
                    <td>{{ d.id }}</td>
                    <td>{{ d.name }}</td>
                    <td>{{ d.email }}</td>
                    <td>{{ d.age }}</td>
                    <td>{{ d.phone }}</td>
                    <button id="remove" (click)="deleteRow(d.id)">DELETE ROW</button>
                </tr>
            </table> 
        </div>

并将此代码添加到您的组件文件

deleteRow(id){
        for(let i = 0; i < this.data.length; ++i){
            if (this.data[i].id === id) {
                this.data.splice(i,1);
            }
        }
    }
孔鸿宝
2023-03-14
<div class="container">
        <table border=1 class="table">
          <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Email</th>
            <th>Age</th>
            <th>Phone</th>
          </tr>
            <tr *ngFor="let d of data | async" [attr.id]="d.id"> <!--each row id == id-->
                <td>{{ d.id }}</td>
                <td>{{ d.name }}</td>
                <td>{{ d.email }}</td>
                <td>{{ d.age }}</td>
                <td>{{ d.phone }}</td>
                <button id="remove" (click)="deleteRow(d)">DELETE ROW</button>
            </tr>
        </table> 
    </div>

打字稿

deleteRow(d){
    const index = this.data.indexOf(d);
    this.data.splice(index, 1);
}
 类似资料:
  • 我有一个表格,每一行都有数据填充和相应的删除按钮。 HTML代码: 当我想要从模式中删除一行时,单击该行中的删除按钮(模式)会调用该行。我使用函数“onDelete(emp.id)”在点击时调用一个模式 Typescriptcode:这里它正确地选择了我想要删除的行id 从模态按钮,我试图通过调用按钮上的函数来删除单击“delete员工(emp.id)”Typecriptcode:这里我无法通过选

  • 我的任务:我必须从jsp视图中删除对表“testtable”的每一行操作。 后端MySQL:=我有两个表一个“userinfo”用于aurtherntication,另一个表“testtable”。 对于两个表连接,我使用了jsp中的隐藏字段输入,而不是使用外键关系。 在控制台打印中,我们可以在单击delete按钮后看到com.mysql.jdbc.jdbc4PreparedStatement@1

  • 我使用Angular 7.2创建一个选择控件,如下所示: 这正是我们想要的。我有一些代码希望删除选定的项目,大致如下: 虽然这会将其从选定项的数组中删除。如果我从选择控件中选择新值,则所有原始项仍被选中(即勾选)。 如何清除所选项目? 根据@Maarti的响应,我的代码现在可以使用

  • 我需要能够从角材料列表中删除选定的项目。为此,我决定从初始项目数组中减去选定项目数组(不确定这是最好的方法)。 我的问题是,我找不到一种方法来将超文本标记语言中的选定项数组传递给TS并使用它。 Angular材料在其留档中有以下示例: 其中x是mat-seltion-list选择器的ID,y是对所选元素执行的操作。但这似乎只适用于超文本标记语言。 下面是我不工作的代码。 HTML,其中我设置了列表

  • 问题内容: 使用标准JavaScript删除元素时,必须首先转到其父元素: 首先必须去父节点对我来说有点奇怪,JavaScript是否有这样的原因? 问题答案: 我知道,增强本机DOM功能并不总是最好的或最受欢迎的解决方案,但是对于现代浏览器来说,这很好。 然后你可以删除这样的元素 要么 注意:此解决方案不适用于IE 7及更低版本。有关扩展DOM的更多信息,请阅读本文。 编辑:回顾我在2019年的