Я работаю над мобильным приложением Kendo UI Mobile (используя только iOS в то время) и в настоящее время имеет 3 вида в приложении. «Основной» вид имеет ListView, а остальные 2 - простые формы.Kendo UI Mobile Refresh List View on View Show
Вид списка связан с данными, которые у меня есть в локальном хранилище, и есть способ получения данных. Кажется, что все работает нормально, когда приложение загружается, и я также могу сделать «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();
после того, как мой код «добавить» завершит и перейдет к основному виду.
Проблема, с которой я столкнулся, заключается в том, что список в представлении не кажется «доступным» (не правильным словом, но не может считаться с правильным термином в данный момент). Он говорит, что метод 'refresh()' недоступен в 'var certificateList = $ ('# certificateList'). Data ('kendoMobileListView');' –
Когда вы создаете объект ListView, готовый документ или инициализацию приложения ? Вы можете попробовать after-show в качестве последнего средства или возможно предварительное шоу, но с параметром setTimeout ($ ("# listView"). Data ("kendoListView"). Refresh(), 200); –
У меня создан UL, а затем я подключаю ListView вверх к приложению init. Я не думал о 'setTimeout()', хотя, думаю, я дам этот снимок. Благодаря! –