当前位置: 代码迷 >> Web前端 >> 在ext中平添空白占位符
  详细解决方案

在ext中平添空白占位符

热度:551   发布时间:2012-10-09 10:21:45.0
在ext中添加空白占位符
我们在写组件的时候总会需要增加空白的位置,但是组件默认都是一个跟一个的排列,要是form布局又会总是换行,用table布局吧,那跟的是个紧。经过试验找到一个好的方法:只要增加一个固定高度或者固定宽度的panel就行了。代码如下:

  var ss=new Ext.form.FormPanel({
        width:'1400',
        height:'300',
        id:'form',
        frame:true,
        layout:'table',
        layoutConfig: {
                         columns: 16                       },
        items:[{xtype:'label',
                 style : 'font-size:12px',//设置字体大小
                    id:'d5',
                    hidden:h5,//这个是在外部定义的
                 text:"关键字:" 
                },{
                 xtype:'textfield',
                 id:'b5',
                 name:"KEYWORD",
                 width:140,
                 hidden:h5,
                 value:''   
                },
                  {
                 xtype:'combo',
                 id:'b6',
                 width:100,
                 hidden:h6,
                 name:"BANK_NAME",//开户行
                 store:store6  
                },{
                    xtype:'panel',//设置空白
                    border:0,
                    width:28//空白的大小
                },{
                    id:'b7',
                    xtype:"checkbox",
                    hidden:h7,
                    name:"checked"
                    },{
                 xtype:'label',
                  style : 'font-size:12px',
                 hidden:h7,
                 text:"包含历史" 
                },{
                 buttons:[{text:"搜索",handler:function(){look5()}}
                         ,{text:"高级",handler:function(){Ext.getCmp("form").hide();}}]}]
                })
1 楼 bottle123 2011-03-28  
正在找这个呢,谢楼主分享
2 楼 wxq136 2011-04-01  
很不错,谢谢了
3 楼 clue 2011-04-02  
何必用Panel?这么重量级的组件用来占位,太奢侈了

BoxComponent就够用了,它是Div,默认display:block,不定宽度会占满整行:

xtype : "box"
4 楼 sam.ds.chen 2011-04-02  
这是不够优雅的workaround
为什么不用layout:'absolute'?想让组件放在哪就放在哪。
5 楼 clue 2011-04-02  
sam.ds.chen 写道
这是不够优雅的workaround
为什么不用layout:'absolute'?想让组件放在哪就放在哪。

如果其中一个组件大小有变动,你要怎么办?一个个地调整x, y吗?

配置越少越好,越少代表着适应性与灵活度越高,不管你怎么变都能保持正常显示。

当然,如果你和Ext的BorderLayout那样由程序自动计算x,y坐标那也没问题。
6 楼 挫骨扬灰 2011-04-07  
clue 写道
何必用Panel?这么重量级的组件用来占位,太奢侈了

BoxComponent就够用了,它是Div,默认display:block,不定宽度会占满整行:

xtype : "box"


本文的重点不是在于用什么来承载,重点是在需要的时候如何加上空白占位符,谢谢你的批评。
  相关解决方案