Extjs - 当Compositefield中的项目增长/调整大小时如何调整兄弟姐妹的位置

Posted

技术标签:

【中文标题】Extjs - 当Compositefield中的项目增长/调整大小时如何调整兄弟姐妹的位置【英文标题】:Extjs - How to adjust position of siblings when an item inside a Compositefield grows/resized 【发布时间】:2011-07-21 05:39:02 【问题描述】:

我有一个包含两个文本字段项的复合字段。第一个文本字段的增长属性设置为 true。当第一个文本字段的宽度自动调整大小时,它会与右侧的字段重叠。我希望后续项目随着前面字段的增长而向右调整/移动它的位置。 例如

  new Ext.form.CompositeField(
       autoHeight: true
       , autoWidth: true
       , items:[
           xtype:'textfield'
           , flex: 1
           , growMax: 125
           , growMin: 80
           , width: 80
           , grow: true
           , listeners: 
               'autoSize': function ()  
               // what should I do here??  i tried accessing the 
               // ownerCt syncSize() but didn't work
                        
        
        , 
           xtype:'textfield'
           , flex: 1
           , width: 80
        ]
     );

提前谢谢你。

【问题讨论】:

【参考方案1】:

这似乎是 extjs 的错误。但是,我找到了解决方法:

    'autoSize': function ()  
           if (this.width == this.el.dom.offsetWidth)
               return;
           this.width = this.el.dom.offsetWidth;
           this.ownerCt.doLayout();
        

这里是fiddle

【讨论】:

它有效。非常感谢,甚至抽出时间来制作小提琴。真的很感激。 o(^-^)v

以上是关于Extjs - 当Compositefield中的项目增长/调整大小时如何调整兄弟姐妹的位置的主要内容,如果未能解决你的问题,请参考以下文章

当 Extjs 中的窗口大小发生变化时如何显示“分页工具栏”?

在 extjs 3.4 中刷新面板中的数据视图

extjs中的代码优化技术?

如何从 ExtJs 中的函数调用函数

ExtJS:从组合中的选定商店获取信息

ExtJS:返回 json 存储中的总行/记录