ExtJS - Изменения атрибутов игнорируются при перетаскивании

Мы используем ExtJS 4.2.1. Атрибуты ширины / высоты img не изменятся в следующем примере, когда элемент перетаскивается за координату y +/-5px. Изменения атрибута '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 ответа

Решено - неправильный синтаксис:

Вместо:

spriteLink.setAttributes(height, 0);
spriteLink.setAttributes(width, 0); 

использовать:

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

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

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

Другие вопросы по тегам