对于一个容器组件,比如Ext
.FormPanel,其内部空间无非是按照横向或纵向划分;如果需要更复杂的布局方式,就对第一次划分得到的子区域进行再划分。
form的含义是把容器按照横向划分,划分得到的行数与容器内的子元素(直接子元素,而不包含子元素内部的元素)个数相同,每个元素占一行;
column的含义是把容器按照纵向划分,划分得到的列数同上。
下面看看如何使用form和column
比如让我们实现一个登录的界面:
var
login
=
new
Ext
.
FormPanel
({
labelAlign
:
'
top
'
,
frame
:
true
,
title
:
'
Login
'
,
id
:
'
login
'
,
bodyStyle
:
'
padding:5px 5px
0
'
,
width
:
400
,
items
:
[{
layout
:
'
column
'
,
//把整个空间划分成两列
items
:
[{
html
:
'
<img
src="loginLogo.png" />
'
//左边列放一个logo
}
,
{
columnWidth
:
.5
,
layout
:
'
form
'
,
//右边列再分成上下两行
items
:
[{
xtype
:
'
textfield
'
,
fieldLabel
:
'
Username
'
,
//第一行是用户名输入框
name
:
'
name
'
,
id
:
'
name
'
,
anchor
:
'
100%
'
}
,
{
xtype
:
'
textfield
'
,
fieldLabel
:
'
Password
'
,
//第二行是密码输入框
name
:
'
pass
'
,
id
:
'
pass
'
,
anchor
:
'
100%
'
,
inputType
:
'
password
'
}]
}]
}]
,
buttons
:
[{
text
:
'
OK
'
,
//用户名密码确认按钮
handler
:
function
(){
var
name
=
Ext
.
get
(
'
name
'
)
.
dom
.
value
;
var
pass
=
Ext
.
get
(
'
pass
'
)
.
dom
.
value
;
if
(
name
==
'
good
'
&&
pass
==
'
good
'
){
//login correct, do something
}
else
{
Ext
.
MessageBox
.
alert
(
'
Warning!
'
,
'
Incorrect
Login
'
)
;
}
}
,
{
text
:
'
Reset
'
,
//用户名密码重置按钮
handler
:
function
(){
Ext
.
get
(
'
name
'
)
.
dom
.
value
=
''
;
Ext
.
get
(
'
pass
'
)
.
dom
.
value
=
''
;
}
}
]
}
);
login
.
render
(
document
.
body
)
;
login
.
getEl
()
.
center
()
;
这段代码
中,第8行至第30行与本文的主题“布局”相关。这几行代码把一个FormPanel分成两列,左边放一个图片logo;右列再被细分为上下两行,上面一行为用户名输入框,下面一行为密码输入框。这样一个简单的例子已经展示了布局的嵌套,以此递归地嵌套下去,就可以创建出非常复杂的布局方式。但是切记,网页是越简单越好。
从第31行开始,是为了这段login代码的完整性,加入了用于事件响应的按钮(buttons)。
最后两行代码的含义是把该登录界面显示出来,并居中。
分享到:
相关推荐
3. **布局管理**:EXTJS 的布局管理器允许开发者轻松地管理组件的大小和位置,支持各种布局模式,如Fit、Border、Table、Column等,适应不同类型的界面需求。 4. **Ajax集成**:EXTJS 内置了Ajax通信机制,可以方便...
### ExtJS布局全面讲解 #### 一、Border Layout(方位布局) **定义与特性:** - **定义**:Border布局由类`Ext.layout.BorderLayout`定义,布局名称为`border`,这是一种非常实用且常见的布局方式,适用于创建...
ExtJs常见的布局方式有:border、form、absolute、column、accordion、table、fit、card、anchor 另外,不常见的布局有:tab、vbox、hbox 具体使用方法可见该文件的案例代码。 该文件含ext3.2.0压缩版,可直接运行哦...
3. **布局管理**:ExtJS拥有多种布局方式,如Fit布局、Border布局、Column布局等,可以灵活地调整组件在容器中的位置和大小。 4. **表格(Grid)**:ExtJS的表格组件支持大量的功能,如分页、排序、过滤、行编辑等...
### Extjs FieldSet 两行两列布局解析 在Extjs框架中,`FieldSet`是一种常见的组件,常用于组织一组相关的表单字段,并通过一个标题来标识这组字段的主题。本文将详细介绍如何使用Extjs实现一个两行两列布局的`...
本文将深入探讨如何在ExtJs中使用`FormPanel`组件结合`form`和`column`布局属性来实现横向布局,即在一个表单中元素能够按照列分布,形成一种更为直观和用户友好的界面设计。 ### 一、理解`FormPanel`及其属性 `...
ExtJS布局是构建用户界面的关键部分,它定义了组件如何在容器中排列和展示。本文将详细介绍ExtJS的9种布局样式,帮助开发者更好地理解和应用这些布局。 1. **Absolute Layout**: Absolute布局允许你在容器内根据...
### ExtJS布局管理学习指南 #### 一、引言 ExtJS是一款强大的JavaScript框架,用于构建复杂的前端应用程序。其中布局管理是ExtJS的核心特性之一,它可以帮助开发者有效地组织UI组件,使得用户界面既美观又实用。...
列布局(Column Layout)是ExtJS的一种布局策略,它允许你在同一行内创建多个并排显示的区域,每个区域可以包含不同的组件,如文本框、选择框、按钮等。这种布局方式非常适合用来构建表格化的表单,使得数据输入和...
ExtJS的布局系统允许开发者自定义容器中的子元素排列方式,如`Fit布局`(完全填充容器)、`Border布局`(分隔式布局)和`Form布局`(表单元素的流式布局)。2.2版本还支持`Table布局`和`Column布局`,提供更复杂的...
2. **布局管理器**:ExtJs提供了一系列布局模式,如Fit布局、Form布局、Table布局、Column布局等,用于控制组件在容器中的排列方式,适应不同的屏幕尺寸和设计需求。 3. **数据绑定**:通过Model、Store和View的...
7. **表单(Forms)**:ExtJS的表单组件丰富,包括文本框、选择框、日期选择器等,支持复杂的表单布局和验证规则。 8. **工具栏和菜单(Toolbars & Menus)**:提供创建顶部和底部工具栏以及下拉菜单的能力,用于...
2. **布局管理**:EXTJS提供了多种布局方式,如Fit布局、Border布局、Column布局等,以适应不同UI需求。布局管理使得组件可以根据容器大小自动调整其尺寸和位置。 3. **数据绑定**:EXTJS采用数据绑定机制,允许...
以下是关于ExtJS布局的详细解释: 1. **基本知识:布局操作** - 布局操作涉及容器组件内的子元素组件如何组织和分布。 - 布局的基类是`Ext.layout.ContainerLayout`,它提供了所有布局的基础功能,但本身并不具有...
- **表单面板(Ext.form.Panel)**:是表单的基础容器,可以包含多个表单字段和布局。它管理表单的提交、验证等功能。 - **表单字段**: - `Ext.form.field.Text`:用于输入单行文本。 - `Ext.form.field....
2. **布局管理**:框架提供了多种布局方式,如fit布局、border布局、form布局等,用于自动调整组件大小和位置,适应不同屏幕尺寸和数据变化。 3. **数据绑定**:ExtJS 4引入了MVVM(Model-View-ViewModel)模式,...
layout:”column” Panel进行列布局。 在子元素中指定使用columnWidth或width来指定子元素所占的列宽度。 columnWidth表示使用百分比的形式指定列宽度。 width则是使用绝对象素的方式指定列宽度,在实际应用中可以...
5. **布局管理**:3.2.1版本的ExtJS有多种布局方式,如Fit布局、Form布局、Table布局、Column布局等,可以根据需求灵活调整组件的布局。 6. **拖放功能**:支持组件的拖放操作,可以轻松实现界面元素的动态组织和...
ExtJS的布局(LayOut)是其框架中一个核心的概念,它决定了组件在容器中的排列方式和行为。布局管理器负责控制容器内的组件如何占用空间以及如何在大小改变时进行调整。以下是对ExtJS中九种布局方式的详细解释: 1....
### Extjs布局详解 在深入探讨Extjs布局之前,我们先简单回顾一下Extjs是什么。Extjs是一款基于JavaScript的企业级富客户端应用框架,它提供了一系列的UI组件和强大的数据处理能力,使得开发者能够构建出高性能的...