ngx-bootstrap bs-sortable 在将菜单项拖动到可排序部分时显示先前拖动的项目

ngx-bootstrap bs-sortable shows prevously dragged item when a menu item is dragged to the sortable section

一旦某个项目从 bs-sortable 部分被拖动,它就会存储在缓存中,每当拖动外部元素(例如:菜单)时,先前拖动的项目就会出现在可排序部分。

从提供的 gif 中查找更多信息:

https://lh3.googleusercontent.com/-ztVT2dV-Z4g/Xc5k5syOL2I/AAAAAAAAKeI/KmfvezqDx4425kTLr6TgHpFilX90fSF4wCK8BGAsYHg/s0/2019-11-15.gif

这里是原文link:

https://valor-software.com/ngx-bootstrap/#/sortable

知道如何解决这个问题...

提前致谢。

我刚刚解决了上述问题。如果有人正在寻找答案,这里是代码。

转到 node_modules 并在以下位置编辑 sortable.component.js 文件:
node_modules/ngx-bootstrap/sortable/sortable.component.js

在函数内部添加一个标志变量,如下所示,

function SortableComponent(transfer) {
  ...
  this.itemFlag = false;
  ...
 }
 SortableComponent.prototype.onItemDragstart = function (event, item, i) {
  this.itemFlag = true;
  ...
};
SortableComponent.prototype.onItemDragover = function (event, i) {
  if(!this.itemFlag){
      return;   
  }
  ...
};

SortableComponent.prototype.writeValue = function (value) {

  this.itemFlag = false;
  ...
};

这解决了我的问题!!