我有一个动态FormPanel,我需要在加载所有字段后设置标签宽度。我在调用this.doLayout之前尝试过使用this.labelWidth = 200但它忽略了新值。
有人可以告诉我在哪里可以设置这个并重新绘制表单,谢谢。
答案 0 :(得分:1)
在查看FormLayout的extjs源代码后,我发现在表单上调用doLayout之前,您可以设置一些变量来更改标签宽度。
所以在FormPanel中使用以下代码来更改标签宽度:
Ext.apply(this.layout, {
labelAdjust: this.labelWidth + 5,
labelStyle: 'width:' + this.labelWidth + 'px;',
elementStyle: 'padding-left:' + (this.labelWidth + 5) + 'px'
});
this.doLayout();
答案 1 :(得分:0)
可能是在呈现FormPanel之后不再考虑labelWidth
配置选项吗?也许您可以使用FormPanel.findByType
获取对所有标签的引用,将标签宽度设置为200,然后然后调用FormPanel.doLayout
?