Ext3.2 布局——form layout

formlayout是为表单而制定的布局。但是并不建议使用panel,然后设置layout:'form',实际开发中,通常首选使用 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需要极其的仔细认真。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值