Ext3.2 布局——form layout
2014-02-09 23:13
239 查看
formlayout是为表单而制定的布局。但是并不建议使用panel,然后设置layout:'form',实际开发中,通常首选使用
FormPanel (默认情况下配置成FormLayout作为它的布局类) 因为它同时为表单的loading(加载),validating(校验)和submitting(提交)提供了内建的功能。如以下示例:
上述例子中,defaultType指的是组件的默认类型。而需要特殊组件的时候,则可以设置xtype。同时,我们可以看到一个规律,items中的元素的设置项会优先考虑。如first name中的labelSeparator被执行,msg的hideLabel被执行(全局的是hideLables)。另外,Ext的配置项存在一定的依赖性。如:如果lablewidth没有设置的话,labelPad是无效的。这些需要查看详细的API并且多记。否则,半天都不会想到原来是这个问题。又比如,fieldLabel只有在form或者formpanel下才有效,其他布局是无效的。总之,Ext需要极其的仔细认真。
FormPanel (默认情况下配置成FormLayout作为它的布局类) 因为它同时为表单的loading(加载),validating(校验)和submitting(提交)提供了内建的功能。如以下示例:
Ext.onReady(function() { Ext.QuickTips.init(); // While you can create a basic Panel with layout:'form', // practically // you should usually use a FormPanel to also get its form // functionality // since it already creates a FormLayout internally. var form = new Ext.form.FormPanel({ renderTo : 'da', title : 'Form Layout', bodyStyle : 'padding:15px', width : 350, defaultType : 'textfield', defaults : { // applied to each contained item width : 230, msgTarget : 'side' }, items : [{ fieldLabel : 'First Name', name : 'first', allowBlank : false, labelStyle : 'font-weight:bold;', labelSeparator : ':' // override // labelSeparator }, { fieldLabel : 'Last Name', name : 'last' }, { fieldLabel : 'Email', name : 'email', vtype : 'email' }, { xtype : 'textarea', hideLabel : true, // override hideLabels name : 'msg', anchor : '100% -53' }], buttons : [{ text : 'Save' }, { text : 'Cancel' }], layoutConfig : { labelSeparator : '~~' // superseded by assignment // below }, // config options applicable to container when // layout='form': hideLabels : false, labelAlign : 'right', // or 'right' or 'top' // labelSeparator : '>>', // takes precedence over // layoutConfig value labelWidth : 80, // defaults to 100 labelPad : 10 // defaults to 5, must specify // labelWidth to be // honored }); });
上述例子中,defaultType指的是组件的默认类型。而需要特殊组件的时候,则可以设置xtype。同时,我们可以看到一个规律,items中的元素的设置项会优先考虑。如first name中的labelSeparator被执行,msg的hideLabel被执行(全局的是hideLables)。另外,Ext的配置项存在一定的依赖性。如:如果lablewidth没有设置的话,labelPad是无效的。这些需要查看详细的API并且多记。否则,半天都不会想到原来是这个问题。又比如,fieldLabel只有在form或者formpanel下才有效,其他布局是无效的。总之,Ext需要极其的仔细认真。
相关文章推荐
- Ext3.2 布局——vbox layout
- Ext3.2 布局——hbox layout
- Ext3.2 布局——border layout
- Ext3.2 布局——column layout
- Ext3.2 布局——anchor layout
- ext3.2 form 布局 之radio
- 完全掌握纯CSS布局
- java布局的一些问题,正在实时更新。
- 关于布局的一点心得
- WebKit之布局
- 布局文件
- Android 常用布局视图
- 【CSS笔记七】CSS布局模型
- 手机端页面自适应解决方案—rem布局
- Android顶部布局View不随着输入框弹出而上移
- 弹性布局
- CSS_贴在底部的布局
- 理解绝对定位和相对定位布局
- html学习笔记,锚点,超链接,table布局,表头,h,sub,blockquote,ul,li,ol.dl,加入收藏,打印,弹出窗口
- Android开发:聊天页面输入框和发送按钮的布局问题