ExtJS - 在拖动操作期间忽略属性更改

时间:2016-10-24 05:31:05

标签: drag-and-drop extjs4.2

我们正在使用ExtJS 4.2.1。当元素被拖动超过+/- 5px y坐标时,img的宽度/高度属性在下面的示例中不会改变。属性“show”的更改也会被忽略。但是,元素可以被破坏并重新创建,但这不是必需的。

[panel]
var dndLinkSprite = me.surface.add({                               
    type: 'image',
    x: bBox.x,
    y: bBox.y,
    width: 16,
    height: 16,
    src: '/link.png'
})

...

dragAction: function(panel, e, diff, dndConfig) {
    var spriteLink = panel.dndLinkSprite;
    if ( diff[1] > 5 || diff[1] < -5 ) {
        spriteLink.setAttributes(height, 16);
        spriteLink.setAttributes(width, 16);
    } else {
        spriteLink.setAttributes(height, 0);
        spriteLink.setAttributes(width, 0);        
    };
}

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

解决了 - 错误的语法:

而不是:

&#13;
&#13;
spriteLink.setAttributes(height, 0);
spriteLink.setAttributes(width, 0); 
&#13;
&#13;
&#13;

使用:

&#13;
&#13;
spriteLink.setAttributes({width: 0, height:0} , true);
&#13;
&#13;
&#13;

答案 1 :(得分:-1)

spriteLink.getEl()。dom.setAttribute(height,16);

我使用的版本是4.2.1.883,上述写法正常支持