2014-07-05 63 views
0

簡單用例:我想在加載商店時手動控制。當商店被加載時,我希望數據填充列表。但是,我無法讓它工作。sencha手動加載存儲

當我在商店上設置autoLoad爲true時,它可以工作。如果我刪除autoLoad,並將其添加到視圖中,則不會發生任何事情。

列表配置:

{ 
    xtype: 'list', 
    fullscreen: true, 
    disableSelection: true, 
    store: 'NewsStore', 
    itemId: 'newsList', 
    itemTpl: '<li><strong>{date} - {title}</strong><br/>{text}</li>', 
    plugins: [ 
    { 
     xclass: 'Ext.ux.touch.PullRefreshFn', 
     pullText: 'Henter nyheter', 
     refreshFn: function() { 
      Ext.getStore('NewsStore').load(); 
     } 
    } 
]} 

面板上的監聽器將裝載存儲:

listeners: { 
     painted: function() { 
      Ext.getStore('NewsStore').load(); 
     } 
    } 

我曾嘗試使用回叫load方法。我試圖從列表中獲取商店並更新此內容,但沒有任何效果(列表只是空的,並且不顯示任何內容,儘管我可以看到代碼正在提取信息)。任何想法我在這裏做錯了嗎?

+0

你是如何賣場結合的觀點?很高興看到完整的視圖配置。 – Stuart

+0

添加了列表配置。它真的只是一個Ext.Panel和這個列表作爲內容。我甚至試圖在列表的store-property中做一個Ext.create(store),但這也不起作用。 –

回答

0

你必須使用setStore屬性來填充數據

var myStore = Ext.getStore('NewsStore'); 

Now access the list object and just 

mylist.setStore(myStore);