1

我正在 Sencha Touch 2 中创建一个搜索表单。表单已创建,字段都在那里。但是如何调用 /users/{param} url?我有一家商店,它可以加载“所有”用户,但我想加载特定数据.. 谢谢。

编辑:

Ext.define('TCM.store.Users', {
    extend: 'Ext.data.Store',

    config: {
        model: 'TCM.model.User',
        sorters: 'name',
        proxy: {
            type: 'rest',
            url: 'http://local.test.eu/app_dev.php/api/users'
        }
    }
});
4

2 回答 2

4

您只需要获取商店的代理并设置extraParams

Ext.getStore('Users').getProxy().setExtraParams({
  param: myParam
});

如果您存储的所有数据都已加载,您也可以过滤它而不是重新加载它。

希望这有帮助

于 2012-11-24T11:08:47.497 回答
2

您可以像这样将参数传递给 store.load 方法

Ext.getStore('Users').load({
   params : { param : 'param1'}
});

如果您需要根据参数构建特定的 url,您应该覆盖代理中的 buildUrl 方法

 buildUrl : function (request) {
            var url = this.getUrl(request),//  /users/
                params = request.getParams() || {};

            url = url + params.param; // /users/param1
            request.setUrl(url);
            return this.callParent([request]);
    }
于 2012-11-26T07:10:29.963 回答