PrimeNG PickList onMove和onMoveAll事件处理程序

问题描述 投票:0回答:1

我正在为我的Angular 5应用程序使用PrimeNG PickList(5.0.0-rc0)。我的问题是onMoveToTargetonMoveAllToTarget同时被调用,我不认为它不应该那样。我使用PickList根据拾取的内容动态地将FormControl添加到我的Form

使用案例:

onMoveToTargetHandler(event) {
  if (!this.moveAllToTarget) {
    this.form.addControl(event.items[0].slug, this._formBuilder.group({//some model that matches the control added}))
  }
}

onMoveAllToTargetHandler(event) {
  this.moveAllToTarget = true;
  let itemsProcessed = 0;
  event.items.forEach(item => {
   this.form.addControl(item.slug, this._formBuilder.group({//some model that matches the control added}));
   itemsProcessed++;
  });
  if (itemsProcessed === event.items.length) {
   this.moveAllToTarget = false;
  }
}

这两种方法几乎同时被调用,这使我在我的表单中有重复的FormControls

有办法解决这个问题吗?在向PrimeNG Github提交问题之前,我想我会问这里。

angular primeng
1个回答
0
投票

也许你应该在第一个事件上尝试event.preventDefault(),这样它就不会传播到其他事件?如果它不起作用,您可以使用条件来查看项集合的大小,然后只有其中一个将呈现您的表单(甚至是它的混合)

© www.soinside.com 2019 - 2024. All rights reserved.