在ExtJS中拖动时删除反馈图标

Kus*_*hal 3 javascript css icons drag-and-drop extjs4

我创建了一个DataView,其中的项目可以在内部拖动以重新排列,但问题是,虽然我可以轻松地拖动和重新排列数据视图中的项目,但在拖动时,创建项目的叠加显示"红色"反馈图标(这表明该项目不能放在这里),虽然我不希望显示任何反馈图标(绿色或红色),只是项目的叠加就足够了.

如何摆脱反馈图标?

rix*_*ixo 8

简短的回答,你可以添加这两个CSS规则:

.x-dd-drag-ghost {
    padding-left: 5px;
}
.x-dd-drop-icon {
    display: none;
}
Run Code Online (Sandbox Code Playgroud)

如果您不想隐藏整个应用程序的拖放图标,那就更具挑战性......您必须为Ext.dd.StatusProxy将为视图创建的自定义css类添加.该StatusProxy是在构造函数创建的Ext.dd.DragSource,其中Ext.dd.DragZone的一个子类.

因此,在最简单的情况下,如果您自己创建拖动区域,则可以添加一个类:

var dragZone = Ext.create(...); // existing code
dragZone.proxy.addCls('no-icon');
Run Code Online (Sandbox Code Playgroud)

否则,您将不得不追逐创建拖动区/源的位置...

最后,这里是仅使用'no-icon'类隐藏代理图标的CSS:

.x-dd-drag-proxy.no-icon .x-dd-drag-ghost {
    padding-left: 5px;
}
.x-dd-drag-proxy.no-icon .x-dd-drop-icon {
    display: none;
}
Run Code Online (Sandbox Code Playgroud)