Sencha touch重置商店启动参数

时间:2013-01-27 18:18:56

标签: javascript sencha-touch sencha-touch-2

我有一个附加到List的商店。该列表还使用ListPaging插件来启用分页。在我调用商店的load方法(或事件)之后,商店将数据加载到列表中,将请求发送到以下网址 -

http://localhost/mysite/nodelist.php?_dc=1359309895493
    &tids=1%2C4%2C2%2C5%2C67&page=1&start=0&limit=10

向下滚动列表并按下Load More...(插件附加到列表中)后,商店会向同一个网址发送另一个请求,但使用不同的参数,启用分页 -

http://localhost/mysite/nodelist.php?_dc=1359310357419
    &tids=1%2C4%2C2%2C5%2C67&page=2&start=10&limit=10 

现在我想重置商店的startpage参数的值。我尝试在代理上使用setExtraParam方法重置它,但如果我这样做,那么控件不会保持分页 - 这意味着它不会自动更改page和{按start时的{1}}参数。

那我该怎么做?

以下是我商店的示例代码 -

Load More...

这是列表视图 -

Ext.define('MyApp.store.MyStore', {
    extend: 'Ext.data.Store',
    requires: [
        'Ext.data.reader.Json',
        'Ext.data.proxy.Ajax'
    ],

    config: {
        autoLoad: false,
        model: 'MyApp.model.MyModel',
        serverUrl: null,
        pageSize: 2,
        proxy: {
            type: 'ajax',
            actionMethods: {
                read: 'GET'
            },
            url: null,
            reader: {
                type: 'json'
            }
        },
        listeners: {
            beforeload: function () {
                console.log('Before load');
            },
            load: function (store) {
                // console.log('load');
            }
        }
    }
});

1 个答案:

答案 0 :(得分:7)

从查看来源,也许您正在寻找商店的currentPage配置?

当您使用ListPaging插件加载更多录音时,它只需在商店中调用nextPage,然后使用loadPage配置调用currentPage。如果您将商店中的currentPage配置重置为1,则只会假设开始时间为0,页面当然为1。