上次做了个extjs4.2的desktop桌面demo,把desktop从原始包中剥离出来,并实现了桌面图标换列,桌面图标拖动,但用户反映桌面图标拖动会出现白屏,经测试,在 extjs4.2和Extjs5.0中都存在这个问题,

经反复跟踪调试,发现自己增加的代码并没有问题,问题出在extjs的自定义class里面, 在extjs4.1的 Ext.define('Ext.dd.DragZone' ...的定义中 有

    afterRepair : function(){
        var me = this;
        if (Ext.enableFx) {
            Ext.fly(me.dragData.ddel).highlight(me.repairHighlightColor);
        }
        me.dragging = false;
    },

这个代码,是处理拖动后的后续工作,而在extjs4.2的'Ext.dd.DragZone定义中,不知什么原因,没有了这段代码,只要加上这段代码,问题就不再出现,搞了一天,完美解决,其实问题并不复杂,只是找到问题比较困难.

下图是EXTjs4.2 desktop实现了图标换行和拖动后的效果

Extjs5.0 出现同样的问题,应该是同一原因,但未测试.

关于demo代码,在我的资源中有.