ngx-smart-modal'onDataAdded'已多次调用

时间:2019-08-30 10:03:15

标签: angular typescript

我是新来的,使用angular8和库ngx-smart-modal来创建一个客户列表,每个客户都有一个按钮,将其从列表中删除。当我单击按钮时,我将显示一个确认模式,并在单击接受时,将客户端代码传递给另一个组件,从而搜索该代码并从数组列表中删除情感索引。

问题是:在打开的第一个模式中,“ onDataAdded”被调用一次(预期行为)。在第二个中被调用两次(不期望),所以...

当我单击“删除”时,它会从“客户端”组件中触发此功能,从而打开确认模式并等待响应(onDataAdded):

delClientModal( index: number ) {
  this.clientToRemove = this.clients[index];
  this.clientService._passClient(this.clients[index]);
  this.ngxSmartModalService.getModal('delClientModal').open();
  this.ngxSmartModalService.get('delClientModal').onDataAdded.subscribe((data: any) => {
    const indexToRemove = this.clients.findIndex(i => i.clientcode === data);
    if (indexToRemove >=  0) {
      this.clients.splice(this.clients.findIndex(i => i.clientcode === data), 1);
    }
  });
}

当我单击接受时,它将触发“客户端”组件的此功能,并将客户端代码发送至clientService(用于api操作),并将数据设置为反模式以供“ onDataAdded”捕获:

delClient(clientcode: string) {
    this.clientService._deleteClient(this.client);
    this.ngxSmartModalService.setModalData(clientcode, 'delClientModal');
    this.ngxSmartModalService.resetModalData('delClientModal');
  }

我做错了什么?

0 个答案:

没有答案