我在组件中有一个输入数据
@Input() sogllist: any[] = [];
为什么不推荐像这里这样的突变方法?
public remove(e: any, sogl: any): void {
this.sogllist = this.sogllist.filter((sgl) => sgl.id !== sogl.id);
}
如何正确地做到这一点?
您的输入应该保持不变,以免混淆事物的流动。如果你需要过滤,试着这样做:
@Input() sogllist: any[] = [];
filteredList: any[];
public remove(e: any, sogl: any): void {
this.filteredList= this.sogllist.filter((sgl) => sgl.id !== sogl.id);
}
您还应该给filteredList
sogllist
的原始值(在setter或ngOnInit
中(,然后用filteredList
替换您对sogllist
的使用