从Firebase中删除数据后,它仍在Angula 4中的表中显示



我正在研究Angular 4项目,我正在使用智能表。对于数据库,我正在使用firebase。我编写了一个函数来删除它从火箱中删除的行数据,但其他数据显示了两次(重复(。以下是代码

我在服务中具有写入功能,以获取数据如下

getEData() 
 {
    return this.af.list('/enquirydata').snapshotChanges().map(changes => {
      return changes.map(c => ({ key: c.payload.key, ...c.payload.val() }));
    });
 }

也要删除我在服务中写下以下功能

deleteEnquiry(data){
    this.af.list(`/enquirydata`).remove(data);
    console.log("item deleted");
}

现在在component.ts中,我已经编写如下

source: LocalDataSource = new LocalDataSource();
  items: Array<any> = [];

  constructor(private service: SmartTableService, private router: Router) {
 this.service.getEData().subscribe(k=> {
  k.map(c=> {
  this.items.push(c);
      this.source.load(this.items);
  })
  });
    } 
onDelete(event) {
console.log(event);
    if (window.confirm('Are you sure you want to delete?')) {
      this.service.deleteEnquiry(event.data.key);
    } else {
      event.confirm.reject();
    }
  }

有帮助吗?

 this.service.getEData().subscribe(k=> {
   this.items = [...k]; // use can use array destructuring
   this.source.load(this.items);
 });
} 

最新更新