【问题标题】:Issue with removing newly added element from array从数组中删除新添加的元素的问题
【发布时间】:2019-06-26 13:04:48
【问题描述】:

好的,让我解释一下我的问题是什么:

这是我的组件类

export class DataArray implements OnInit {
    private data: string[] = [];
    addData(msg: string) {
        this.data.push(msg);
    }
    deleteMsg(index: number) {
        console.log(" that is my element which i when to remove data[index]=" + this.data[index]);
        this.data.splice(index, 1);
    }
}

这只是两种方法:一种是在我的字符串数组中添加新元素 还有一个从我的数组中删除元素。

和我的 HTML 组件

<div class="row" *ngFor="let element of data;let i = index">
    {{element}}
    <button class="btn btn-md btn-success" (click)="addData(element)">ADD ELEMENT
    </button>
    <button class="btn btn-md btn-danger" (click)="deleteMsg(i)">Remove ELEMENT
    </button>
</div>

函数 addData 工作正常,函数 deleteMsg 也可以,但是 当我尝试删除一个新添加的元素时,困境就来了,我无法删除它,它保留在数组数据中。

如果有人可以提出解决方案,那对我来说非常有用。

【问题讨论】:

  • 那是您使用的确切代码吗?
  • 您确定它与拼接有关,而不是与更新渲染的代码有关吗?

标签: javascript arrays angular ngfor array-splice


【解决方案1】:

试试这个

deleteMsg(index:number)
{
  this.data.splice(index, 1);
  this.data = [...this.data];
}

【讨论】:

    猜你喜欢
    • 2015-06-14
    • 2017-01-30
    • 2013-11-15
    • 2021-11-24
    • 1970-01-01
    • 2020-11-02
    • 2017-06-19
    • 2022-01-23
    • 2018-01-08
    相关资源
    最近更新 更多