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

时间:2013-05-27 10:22:18

标签: javascript css drag-and-drop extjs4 icons

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

如何摆脱反馈图标?

1 个答案:

答案 0 :(得分:8)

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

.x-dd-drag-ghost {
    padding-left: 5px;
}
.x-dd-drop-icon {
    display: none;
}

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

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

var dragZone = Ext.create(...); // existing code
dragZone.proxy.addCls('no-icon');

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

最后,这里是仅使用'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;
}