【问题标题】:How to use Kendo UI PullParameters function along with Pull To Refresh?如何将 Kendo UI PullParameters 功能与 Pull To Refresh 一起使用?
【发布时间】:2014-02-23 02:30:44
【问题描述】:

我正在尝试让我的 ListView 与 Pull To Refresh 一起使用。不过,我无法刷新列表视图。

基本上,当用户触发拉动刷新时,它应该替换列表视图的全部内容。

以下是我处理列表视图和下拉刷新的方式:

function handle_geolocation_query( position )
{
    $.when( Event.getEventsNearby( position.coords.latitude, position.coords.longitude, radius, limit, offset, key ) ).done( function( response )
    {
        var dataToBeCached = new Array();

        //In order not to cache the same results twice
        var previousContent;

        if( response.containsResults )
        {
            var results = response.results;

            //Remove previous markers
            Map.clearMarkers();

            // Add Markers on the map
            Map.setMarkerPosition( position.coords.latitude, position.coords.longitude, "grey" );
            for ( var i=0; i<results.length; i++ )
            {
                Map.setMarkerPosition( results[i].lat, results[i].lng, "green");
                results[i]["index"] = i;
            }

            setItem("events", JSON.stringify( results ), 1);

            var template = Handlebars.compile( $( '#eventListTemplate' ).html() );
            $("#list-container").kendoMobileListView({
                template : template,
                dataSource: kendo.data.DataSource.create(results),
                fixedHeaders: false,
                pullToRefresh: true,
                pullParameters: function(item) {
                    console.log("pull");
                    //Here, another AJAX call to get the new results
                    $.when( Event.getEventsNearby( position.coords.latitude, position.coords.longitude, radius, limit, offset, key ) ).done( function( response )
                    {
                        console.log("when");
                        //I can see I'm getting my results properly here.
                        console.log(response.results);
                        //Doesn't work ...
                        return response.results;
                    });
                }
            });

            $( document ).trigger( "wallReady" );

            //Retrieve the different user conversations:
            updateListOfChats();
        }
    } );
};

我应该在 pullParameters 函数中添加什么来使其工作?谢谢。

【问题讨论】:

    标签: javascript kendo-ui kendo-mobile


    【解决方案1】:

    拉取参数函数应该返回即将在下一个请求中传递的参数,这由数据源组件本身执行。请参阅API reference 了解更多详细信息和工作示例。

    【讨论】:

    • 谢谢 Petyo,我一直在尝试使用它,但我想我错过了一些东西。我的 pullparameters 中确实有一个返回函数(它在何时,但不确定是否可以)。在我的测试中,我在return response.results; 返回的内容与我传递给dataSource: kendo.data.DataSource.create(results), 的内容完全相同。但它仍然不起作用。你能告诉我这个吗?
    猜你喜欢
    • 1970-01-01
    • 2016-04-08
    • 2018-03-15
    • 2011-06-02
    • 1970-01-01
    • 2014-05-11
    • 1970-01-01
    • 2012-12-27
    • 1970-01-01
    相关资源
    最近更新 更多