ngx-bootstrap bs-sortable 在将菜单项拖动到可排序部分时显示先前拖动的项目
Posted
技术标签:
【中文标题】ngx-bootstrap bs-sortable 在将菜单项拖动到可排序部分时显示先前拖动的项目【英文标题】:ngx-bootstrap bs-sortable shows prevously dragged item when a menu item is dragged to the sortable section 【发布时间】:2020-03-11 07:45:30 【问题描述】:一旦从 bs-sortable 部分拖动一个项目,它就会存储在缓存中,并且每当外部元素(例如:拖动菜单)时,先前拖动的项目就会出现在可排序部分中。
从提供的 gif 中查找更多信息:
https://lh3.googleusercontent.com/-ztVT2dV-Z4g/Xc5k5syOL2I/AAAAAAAAKeI/KmfvezqDx4425kTLr6TgHpFilX90fSF4wCK8BGAsYHg/s0/2019-11-15.gif
这里是原文链接:
https://valor-software.com/ngx-bootstrap/#/sortable
知道如何解决这个问题...
提前致谢。
【问题讨论】:
【参考方案1】:我刚刚解决了上述问题。如果有人正在寻找答案,这里是代码。
转到 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;
...
;
这解决了我的问题!!。
【讨论】:
以上是关于ngx-bootstrap bs-sortable 在将菜单项拖动到可排序部分时显示先前拖动的项目的主要内容,如果未能解决你的问题,请参考以下文章
angular8中错误Cannot find module ‘ngx-bootstrap‘. 5 import { PaginationModule } from ‘ngx-bootstrap‘;
angular8中错误Cannot find module ‘ngx-bootstrap‘. 5 import { PaginationModule } from ‘ngx-bootstrap‘;
angular8中错误Cannot find module ‘ngx-bootstrap‘. 5 import { PaginationModule } from ‘ngx-bootstrap‘;
angular8中错误Cannot find module ‘ngx-bootstrap‘. 5 import { PaginationModule } from ‘ngx-bootstrap‘;(代