2011-03-17 53 views
1

我在Sencha Touch中有一個從JSON數據生成的List。本質上,該列表是從Data Store對象生成的,並充當聯繫人列表。我想知道如何添加功能,以便當用戶點擊其中一個列表項時,Sencha Touch中會顯示一個操作表,提供許多操作(如「呼叫」,「發送消息」和「刪除「)。在Sencha Touch中創建操作表當觸摸列表項時

下面是我使用生成列表視圖代碼:

var listView = new Ext.List({ 
    store: friendStore, 
    itemTpl: '{forename} {surname}<br />{phoneNumber}', 
    grouped: true, 
    indexBar: true 
}); 

我知道,我可能用on參數,但將在tap事件添加到列表中,而不是每個項目。顯示的操作表將包含一些鏈接以及tel://,因此它也需要動態(因爲要撥打的電話號碼也存儲在數據存儲中的密鑰{phoneNumber}

希望這是有道理的...

回答

1

ListView有一個你應該聽的itemtap事件。從文檔:

itemtap : (Ext.DataView view, Number index, Ext.Element item, Ext.EventObject e) 

爲了獲得對應於挖掘項目只是做view.getStore()getAt(指數)的記錄。然後在您的事件處理程序中,根據記錄中的數據重新創建ActionSheet並顯示它。

將偵聽器附加到列表中比附加到每個單獨的項目更有記憶效率。

+0

謝謝你的幫助,賈森! – BenM 2011-03-18 11:10:44

0

這是不是一個偉大的答案,但我會看着DataView,這是清單的父母。

它有一個叫做itemSelector屬性,它您可以使用指定列表的第entry。如果你使用itemSelector,你也必須提供一個tpl屬性。