我正在使用Kendo UI移動應用程序(當時只使用iOS),目前在應用程序中有3個視圖。 「主」視圖有一個ListView,另外兩個視圖是簡單的形式。Kendo UI移動刷新列表視圖顯示
列表視圖綁定到本地存儲中的數據,並具有獲取數據的方法。這一切似乎在應用程序加載時工作正常,並且我還可以執行「pull to refresh」並更新數據。
我無法弄清楚當視圖重新顯示時如何刷新列表。用戶可以轉到其他視圖之一,並執行某種操作來更新數據,以便當他們返回到列表視圖時,我希望數據自動刷新。
希望這有道理?我包括我的appInit
下面的方法是什麼最初結合數據:
function appInit() {
$("#certificateList").kendoMobileListView({
pullToRefresh: true,
dataSource: new kendo.data.DataSource({
transport: {
read: function(options) {
var data = Redemptions.getCertificates();
options.success(data);
},
schema: {
model: {
id: 'id',
fields: {
id: { type: 'number' },
value: { type: 'number', format: '{c2}' }
}
}
}
}
}),
//dataSource: kendo.data.DataSource.create({data: Redemptions.getCertificates() }),
template: $("#certificateTemplate").html()
});
}
事情我已經試過
- 使用連接到
data-after-show
主視圖的方法 - 我的「添加」代碼完成後調用
$('#certificateList').data('kendoMobileListView').refresh();
並導航回主視圖。
我之前遇到過的問題是視圖中的列表似乎不是「可用」(不是正確的詞,但現在還不能認爲適當的術語)。它表示''var certificateList = $('#certificateList')data'('kendoMobileListView');' –
'你不能創建ListView對象,在文檔就緒時,或者在應用程序init ?您可以嘗試後期作爲最後的手段,或可能的前顯示,但與setTimeout($(「#listView」)。data(「kendoListView」)。refresh(),200); –
我創建了UL,然後在應用程序初始化時將ListView接線。儘管我沒有想到'setTimeout()',我想我會給出一個答案。謝謝! –