如何在ExtJS中动态更改面板的填充

How to dynamically change padding of a panel in ExtJS?

本文关键字:填充 动态 ExtJS      更新时间:2023-09-26

我想在调整大小事件后改变面板的填充值。

{
    xtype : 'panel',
    flex : 10,
    layout : {
        type : 'hbox',
        align : 'stretch',
        padding : '0 5 0 5'
    },
    listeners:{
        resize:'resizePanel'
    },
}

有一个resizePanel函数:

resizePanel:function(target, width, height, oldWidth, oldHeight, eOpts){
        target.padding='0 ' + width / 7 + ' 0 ' + width / 7;
        target.doLayout();
    },

但是这个函数没有改变任何东西。你有什么建议吗?

该函数中的目标参数将是一个没有padding属性的Ext Panel实例。

相反,您应该找到底层元素,比如target。或target.getEl(),它将返回面板的Ext Element实例。

如果你查看api文档中的Ext元素,你可以使用setStyle函数。例如,你可以输入

target.getEl()。setStyle('padding','0 ' + width/7 + '0 ' + width/7)

希望这对你有帮助!