ExtJs 學(xué)習(xí)筆記基礎(chǔ)篇 Ext組件的使用第1/2頁(yè)
更新時(shí)間:2008年12月29日 23:07:18 作者:
昨天剛接觸到Extjs,簡(jiǎn)單寫了篇學(xué)習(xí)筆記,今天繼續(xù)。
天介紹一下Ext中組件舉幾個(gè)簡(jiǎn)單的例子做說明。注意:文章內(nèi)容有些摘自本人學(xué)習(xí)過程中看到的資料。
Ext2.0對(duì)框架進(jìn)行了非常大的重構(gòu),其中最重要的是形成了一個(gè)結(jié)構(gòu)及層次分明的組件體系,由這些組件形成了Ext控件。Ext組件由Component類定義,每一種組件都有一個(gè)指定的xtype屬性值,通過該值可以得到一個(gè)組件的類型或者是定義一個(gè)指定類型的組件。
Ext組件體系由下圖所示:

組件大致可分成三大類,即基本組件、工具欄組件、表單元素組件。
基本組件有



這么多的組件,可都是非??岬?。組件使用可以直接通過關(guān)鍵字new 來創(chuàng)建,比如上篇文章中說到的創(chuàng)建一個(gè)Window框
var win=new Ext.Window();
除了這種創(chuàng)建方式,一般都會(huì)在構(gòu)造函數(shù)中加一些配置屬性來初始化組件。比如創(chuàng)建一個(gè)面板:
<html>
<head>
<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css" />
<script src="extjs/ext-base.js" type="text/javascript"></script>
<script src="extjs/ext-all.js" type="text/javascript"></script>
<script src="extjs/ext-lang-zh_CN.js" type="text/javascript"></script>
<script language="javascript">
function panel(){
var params={title:"Hello",width:300,height:200,html:"<h1>一個(gè)面板</h1>"};
var panel=new Ext.Panel(params);
panel.render("panel");
}
</script>
</head>
<body>
<input type="button" onclick="panel()" value="顯示面板">
<hr/>
<div id="panel"></div>
</body>
</html>
關(guān)鍵代碼:
function panel(){
var params={title:"Hello",width:300,height:200,html:"<h1>一個(gè)面板</h1>"};
var panel=new Ext.Panel(params);
panel.render("panel");
}
params是設(shè)置Panle的參數(shù),title:標(biāo)題,width:寬度,height:高度,html:面板顯示的內(nèi)容
var panel=new Ext.Panel(params); 這句代碼創(chuàng)建了一個(gè)面板,并在構(gòu)造函數(shù)中設(shè)置了面板屬性。
panel.render("panel"); 表示頁(yè)面上的div元素id.、
代碼可以簡(jiǎn)寫為:
var panel=new Ext.Panel({renderTo:"panel",title:"Hello",width:300,height:200,html:"<h1>一個(gè)面板</h1>"});

對(duì)于組件中的子元素組件,都支持延遲加載的方式創(chuàng)建控件,此時(shí)可以直接通過父容器的items傳遞數(shù)組方式實(shí)現(xiàn)。
function panel(){
var params={
title:"Hello",
width:300,
height:200,
html:"<h1>一個(gè)面板</h1>",
items:[
new Ext.Panel({title:"Panel1",height:100}),
new Ext.Panel({title:"Panel2",height:100})
]
};
var panel=new Ext.Panel(params);
panel.render("panel");
}

如果需要讓組件顯示出不同的效果,我們就需要通過構(gòu)造函數(shù)中的參數(shù)設(shè)置。
由于組件都繼承自Ext.Component,因此所有組件可能有共同的屬性,如下圖

Ext2.0對(duì)框架進(jìn)行了非常大的重構(gòu),其中最重要的是形成了一個(gè)結(jié)構(gòu)及層次分明的組件體系,由這些組件形成了Ext控件。Ext組件由Component類定義,每一種組件都有一個(gè)指定的xtype屬性值,通過該值可以得到一個(gè)組件的類型或者是定義一個(gè)指定類型的組件。
Ext組件體系由下圖所示:

組件大致可分成三大類,即基本組件、工具欄組件、表單元素組件。
基本組件有



這么多的組件,可都是非??岬?。組件使用可以直接通過關(guān)鍵字new 來創(chuàng)建,比如上篇文章中說到的創(chuàng)建一個(gè)Window框
var win=new Ext.Window();
除了這種創(chuàng)建方式,一般都會(huì)在構(gòu)造函數(shù)中加一些配置屬性來初始化組件。比如創(chuàng)建一個(gè)面板:
<html>
<head>
<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css" />
<script src="extjs/ext-base.js" type="text/javascript"></script>
<script src="extjs/ext-all.js" type="text/javascript"></script>
<script src="extjs/ext-lang-zh_CN.js" type="text/javascript"></script>
<script language="javascript">
function panel(){
var params={title:"Hello",width:300,height:200,html:"<h1>一個(gè)面板</h1>"};
var panel=new Ext.Panel(params);
panel.render("panel");
}
</script>
</head>
<body>
<input type="button" onclick="panel()" value="顯示面板">
<hr/>
<div id="panel"></div>
</body>
</html>
關(guān)鍵代碼:
function panel(){
var params={title:"Hello",width:300,height:200,html:"<h1>一個(gè)面板</h1>"};
var panel=new Ext.Panel(params);
panel.render("panel");
}
params是設(shè)置Panle的參數(shù),title:標(biāo)題,width:寬度,height:高度,html:面板顯示的內(nèi)容
var panel=new Ext.Panel(params); 這句代碼創(chuàng)建了一個(gè)面板,并在構(gòu)造函數(shù)中設(shè)置了面板屬性。
panel.render("panel"); 表示頁(yè)面上的div元素id.、
代碼可以簡(jiǎn)寫為:
復(fù)制代碼 代碼如下:
var panel=new Ext.Panel({renderTo:"panel",title:"Hello",width:300,height:200,html:"<h1>一個(gè)面板</h1>"});

對(duì)于組件中的子元素組件,都支持延遲加載的方式創(chuàng)建控件,此時(shí)可以直接通過父容器的items傳遞數(shù)組方式實(shí)現(xiàn)。
function panel(){
var params={
title:"Hello",
width:300,
height:200,
html:"<h1>一個(gè)面板</h1>",
items:[
new Ext.Panel({title:"Panel1",height:100}),
new Ext.Panel({title:"Panel2",height:100})
]
};
var panel=new Ext.Panel(params);
panel.render("panel");
}

如果需要讓組件顯示出不同的效果,我們就需要通過構(gòu)造函數(shù)中的參數(shù)設(shè)置。
由于組件都繼承自Ext.Component,因此所有組件可能有共同的屬性,如下圖


您可能感興趣的文章:
- js實(shí)現(xiàn)通用的微信分享組件示例
- JS表格組件神器bootstrap table詳解(基礎(chǔ)版)
- JS組件Bootstrap實(shí)現(xiàn)彈出框和提示框效果代碼
- JS組件Bootstrap Select2使用方法詳解
- JS組件Bootstrap Table使用方法詳解
- Js組件的一些寫法
- 解決Extjs 4 Panel作為Window組件的子組件時(shí)出現(xiàn)雙重邊框問題
- jquery滾動(dòng)組件(vticker.js)實(shí)現(xiàn)頁(yè)面動(dòng)態(tài)數(shù)據(jù)的滾動(dòng)效果
- JS組件Form表單驗(yàn)證神器BootstrapValidator
- JS組件系列之使用HTML標(biāo)簽的data屬性初始化JS組件
相關(guān)文章
Extjs Gird 支持中文拼音排序?qū)崿F(xiàn)代碼
本文為大家詳細(xì)介紹下Extjs Gird 支持中文拼音排序以及修復(fù)漢字排序異常的Bug、localeCompare比較漢字字符串,F(xiàn)irefox與IE均支持,感興趣的朋友可以參考下2013-04-04
Extjs學(xué)習(xí)筆記之二 初識(shí)Extjs之Form
form恐怕是Web開發(fā)中最常用的控件了,Extjs對(duì)普通的html form進(jìn)行了一些封裝,使其具有基本的外觀和一些簡(jiǎn)便的和服務(wù)器進(jìn)行通信的方法。2010-01-01
ExtJS4 表格的嵌套 rowExpander應(yīng)用
今天做一個(gè)grid,里面的數(shù)據(jù)需要帶明細(xì),思來想去還是搞個(gè)表格嵌套吧,需要的朋友可以參考下2014-05-05
ExtJS 設(shè)置級(jí)聯(lián)菜單的默認(rèn)值
ExtJS在修改這樣的頁(yè)面上賦值是很方便的,在正文中1.2.1代碼中可以看出,一行代碼就可以搞定,但這是對(duì)于普通控件而言,如文本框。對(duì)于ComboBox可沒這么簡(jiǎn)單...2010-06-06
Ext中下拉列表ComboBox組件store數(shù)據(jù)格式用法介紹
本文為大家詳細(xì)介紹下Ext中下拉列表ComboBox組件store數(shù)據(jù)格式的基本用法,感興趣的朋友可以參考下哈,希望對(duì)大家有所幫助2013-07-07
EXTjs4.0的store的findRecord的BUG演示代碼
EXTjs4.0 的store的findRecord的BUG:當(dāng)判斷ID=1的時(shí)候,遇到1開頭的ID的時(shí)候,這個(gè)時(shí)候就判斷出問題了,有類似問題的朋友可以了解下哈2013-06-06
解決extjs grid 不隨窗口大小自適應(yīng)的改變問題
在使用grid的時(shí)候窗口改變了但是grid卻不能自適應(yīng),下面有個(gè)不粗的解決方法,大家可以參考下2014-01-01
Ext JS框架中日期函數(shù)的用法及日期選擇控件的實(shí)現(xiàn)
Ext JS中的Ext.Date可以看作是JavaScript中date的加強(qiáng)版,提供了許多進(jìn)階的日期操作函數(shù),下面我們就來看一下Ext JS框架中日期函數(shù)的用法及日期選擇控件的實(shí)現(xiàn)2016-05-05
Ext JS 4實(shí)現(xiàn)帶week(星期)的日期選擇控件(實(shí)戰(zhàn)一)
有一些日期選擇的需求是要看到星期,就是日期中的哪一天是這一年的第幾周,遺憾的是Ext js 并沒有提供這樣的配置,下面為大家分享下理想的解決方法2013-08-08

