У меня проблема с обновлением вниз. Он работает в первый раз, но затем, если я перехожу к другому виду, вернусь к исходному виду, текст Pull to refresh
и Release to refresh
, похоже, дублируется и перекрывается сам по себе. Я «жестко кодирую» данные источника данных здесь, я не хочу использовать транспортный ajax.Потяните вниз, чтобы обновить в Kendo-UI, перекрытия текста, показывающие метки «освобождения» и «выталкивания»
Я пытаюсь вручную обновить данные в методе setOptions
pull
, вместо того, чтобы позволить Kendo обновить его с помощью ajax. Фактическое обновление данных работает. Нет ошибок Javascript, и я получаю тот же результат в Chrome и Firefox.
Первый раз работы:
После переезда в другой точке зрения, а затем обратно к этой точке зрения, а затем потянув вниз:
мой взгляд код:
<div id="subitem-view" data-role="view" data-show="showSubItems">
<div data-role="header">
<div data-role="navbar">
</div>
</div>
<ul id="subItemList" class="itemList">
</ul>
<script id="subItemTemplate" type="text/x-kendo-template">
#:Name#
</script>
</div>
Javascript :
function showSubItems(e) {
var subItems = new kendo.data.DataSource({
data: [
{ Name : "Test1" },
{ Name : "Test2" }
]
});
e.view.element.find("#subItemList").kendoMobileListView({
dataSource: subItems,
pullToRefresh: true,
template: kendo.template($("#subItemTemplate").html())
});
if (typeof (e.view.scroller.pull) == "undefined") {
e.view.scroller.setOptions({
pull: function() {
console.log("pull event...");
subItems.data([
{ Name : "Test1 Updated" },
{ Name : "Test2 Updated" }
]);
setTimeout(function() { e.view.scroller.pullHandled(); }, 400);
}
});
}
}
Это решило это спасибо! Это перешло мне в голову, но, используя событие show, и вы используете транспортный ajax вместо жесткого кодирования данных, нет проблем с вытаскиванием, странно! – ServerBloke
Проблема в том, что все виджеты на init добавляют элементы и события для поддержки различных функций. Поэтому либо вам нужно заранее уничтожить виджет (который не удаляет HTML, а только убивает его объект и события, поэтому вам также нужно очистить HTML) или не инициализировать его каждый раз (что также улучшит производительность) , – Bundyo