下拉刷新时遇到问题。它第一次工作,但是如果我更改为其他视图,然后回到原始视图,Pull to refresh
和Release to refresh
文本似乎会重复并重叠在其自身上。我在这里“硬编码”数据源的数据,我不想使用传输ajax。
我正在尝试手动更新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);
}
});
}
}
答案 0 :(得分:2)
您正在每个View节目上初始化您的Kendo UI Mobile ListView,这会导致不可预测的结果,例如重新创建拉动以刷新标签。您应该只在Init事件中执行此操作。