2012-04-25 42 views
1

我在輪播表單中添加數據視圖,並將其顯示爲列表。然後刪除數據視圖的幾個項目,但輪播視圖中的列表不會更改。我該怎麼做來刷新視圖? (),'removeAll()','destroy()','refresh()',但它沒有效果。如何在Sencha觸摸2中刷新DataView'data呈現2

型號:

Ext.define('Chihiro.model.User', { 
extend: 'Ext.data.Model', 
config: { 
    fields: [ 'id', 'name', 'nickname', 'signiture', 'gender', 'birthday', 'school', 'job', 'portrait', 'interests', 'dis'], 
    proxy: { 
     type: 'localstorage', 
     id: 'friends' 
    }, 
    autoLoad: true 
} 
}); 

數據視圖:

Ext.define('Chihiro.view.userlist.List', { 
extend: 'Ext.DataView', 
xtype: 'userlist', 

store: { 
    model: 'Chihiro.model.User' 
}, 
config: { 
    ui:'loans', 
    useComponents: true, 
    defaultType: 'listitem', 
    emptyText: '<div style="margin-top: 20px; text-align: center">沒有找到任何人哦</div>', 
    deselectOnContainerClick: false 
} 
}); 

面板:

Ext.define('Chihiro.view.contact.List', { 
extend: 'Ext.Carousel', 

xtype: 'contactpanel', 
id: 'contactnavigationview', 

layout: 'vbox', 
config: { 
    fullscreen: true, 
    //autoDestroy: false, 
    scrollable: true, 
    //defaultBackButtonText: '返回', 
    items: [ 
     { 
      xtype: 'titlebar', 
      docked: 'top', 
      title: '好友' 
     } 
    ] 
} 
}); 
+0

你有一個商店綁定到您的數據視圖?如果是這樣,更改數據存儲中的項目應自動刷新視圖。 – 2012-04-25 06:56:12

回答

2

您將需要重新裝載存儲,以刷新數據視圖。

方法如remove(),removeAll(),destroy()refresh()絕對不會有任何影響。

當您更改商店內的商品時,您需要在數據存儲上調用load()方法。這將基本上刷新你的數據視圖。

yourStoreForDataView.load(); 

有用的帖子:Sencha-touch : refresh list : store

+1

非常感謝,但仍然存在問題。我使用localstorage作爲模型的代理,當我調用store的加載時,出現錯誤。 – cachuanghu 2012-04-29 14:22:32