flex4中list與itemRenderer項目渲染器中子物件之間訪問

來源:互聯網
上載者:User

什麼是itemRenderer?
itemRenderer,可以理解為資料的表現方式,具體地說,是指顯示每一條資料時採用的形式。在使用資料處理類組件時,我們只需要把資料按照一定的格式組織好,然後賦予給組件,剩下的事就不用費心了。
每一個組件都有預設的itemRenderer,比如List組件:
List組件預設的itemRenderer類似Label組件,只簡單顯示一行文本。如右圖所示,紅色方框選中的是一個itemRenderer。
本質上,itemRenderer和其它容器類組件沒有區別,裡面可以包括任意的可視化元素,包括文本、圖片、視頻等,只要是Flex支援的視覺元素,都可以。

自訂itemRenderer
組件預設的itemRenderer都過於簡單,如果想加強表現力,就必須建立個人化的itemRenderer。
自訂itemRenderer有兩種方式:一種是嵌入式,直接寫在組件的標籤中,所有的代碼都集中在一個MXML檔案中;另一種是把itemRenderer獨立出來,形成一個MXML組件或ActionScript類。

 

itemRenderer可以很方便的對資料進行呈現,但有時候我們需要在組件和itemRenderer之間訪問,怎麼辦呢?找到以下幾種方法:

1、List可以通過dataGroup這個成員對象來訪問下面的ItemRenderer,比如 userList.dataGroup.getChildAt(ii) as ItemRenderer。要注意要等list初始化後才能擷取,不然userList.dataGroup.numChildren會為0。

2、在ItemRenderer中則通過owner這個對象來訪問List。

3、可以通過發送事件的方式,這個網上比較多,大家可以參考http://www.cnblogs.com/aierong/archive/2009/02/11/ItemRenderer.html這篇文章。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.