Sencha Touch之元件選擇器

2021-06-27 00:43:02 字數 2164 閱讀 4568

在開發的過程中,經常會碰到需要呼叫已建立的元件的情況。一般情況下,可以用ext.getcmp()方法達到這一目的。這個方法是ext.componentmanager的get方法的快捷方式,呼叫ext.getcmp()方法實際就是間接呼叫了ext.componentmanager.get()方法。

get方法:

get( string id  : object 

通過id獲取乙個元件例項。

引數

l id : string 

元件的id

返回值

l object 

元件例項,或者unfined。   

但是上述方法,只能實現獲取乙個元件的目的,如果你想要獲取乙個型別的所有元件集合、具有某些特點的元件集合,ext.componentmanager.get()就無能為力了。sencha touch中怎麼做到這一點?這就是本篇存在的目的了。來,用元件選擇器吧,它的query方法能讓你輕鬆地實現這一目標。下面讓我們來認識一下它:

query( string selector, ext.container root  : ext.component 

獲取乙個元件集合。

引數

l selector : string 

乙個字串形式的選擇器。

l root : ext.container(可選) 

乙個容器元件或乙個容器元件集,搜尋範圍將被限定在這些容器裡面。

返回值

l ext.component 

符合條件的元件集,或者乙個空集合。   

如果你學過css的選擇器,那麼肯定會對以下內容十分熟悉。

id選擇器

根據元件id來選擇元件,具有唯一性。前面以」#」號來標誌:

//返回itemid或者id為「panel」的元件例項 

var panel

= ext

.componentquery.query('#panel'); 

類別選擇器

類選擇器根據類的xtype來選擇,可選擇前面是否以」.」來標誌,如:

//根據xtype返回所有ext.list例項 

var lists

= ext

.componentquery.query('list'); 

var lists2

= ext

.componentquery.query('.list'); 

屬性選擇器

根據元件的屬性來選擇,可以選擇具有某個屬性的元件,或者屬性為特定值的元件。

//返回具有iconcls屬性的ext.button的例項 

var btnok

= ext

.componentquery.query('button[iconcls]'); 

也可以選擇某個屬性為特定值的元件

//返回text屬性為「ok」的ext.button的例項 

var btnok

= ext

.componentquery.query('button[

text

= "ok"

]'); 

後代選擇器

後代選擇器也稱為包含選擇器,用來選擇特定容器或容器組的後代,後代選擇器由兩個常用選擇器,中間加乙個空格表示。其中前面的選擇器選擇父元件,後面的選擇器選擇後代元件。

//返回所有id為「myct」的容器中ext.panel例項 

var panelswithinmyct

= ext

.componentquery.query('#myct panel'); 

子選擇器

請注意這個選擇器與後代選擇器的區別,子選擇器(child selector)僅是指它的直接後代,而後代選擇器是作用於所有子後代元件。後代選擇器通過空格來進行選擇,而子選擇器是通過「>」進行選擇,我們看下面的**:

//返回所有id為「myct」的容器的子元件中的ext.panel例項 

var directchildpanel

= ext

.componentquery.query('#myct 

>

panel' 

Sencha Touch元件選擇器

在開發的過程中,經常會碰到需要呼叫已建立的元件的情況。一般情況下,可以用ext.getcmp 方法達到這一目的。這個方法是ext.componentmanager的get方法的快捷方式,呼叫ext.getcmp 方法實際就是間接呼叫了ext.componentmanager.get 方法。ad ge...

Sencha touch 開發系列 元件布局

你如果對st的元件有了一些認識後,然後你又想做一些東東來體驗下st。拿到設計圖後,那麼你就需要好好的規劃你的應用,需要哪些元件,各元件都應該擺放在 這個時候你就需要了解一下st裡面的布局 layout 同樣,開啟我們的api文當 找到layout,並展開,我們可以看到st為我們提供了 vbox,hb...

senchatouch之store用法整理

首先要弄清楚store在senchatouch中的含義 拿資料庫中的知識來打比方,store就是資料庫裡的一張表,裡面是資料的集合,表都有表結構,表結構就是senchatouch中的model。假設有個store別名為 poss 取第i條資料 ext.getstore poss getat i 取第...