Extjs:加载商店时更改参数值

Posted

技术标签:

【中文标题】Extjs:加载商店时更改参数值【英文标题】:Extjs: change params value while loading store 【发布时间】:2015-05-26 06:30:11 【问题描述】:

我有一个商店,我需要用不同的参数值多次调用它。参数值在一个数组中,我需要按数组顺序调用存储。如何在 load 方法中更改参数值?

  var i = 0;
  me.getMyStore().load(
            params: id: ids[i],
            scope: this,
            callback: function(records, operation, success) 
            // I need to increase value of i by 1 but it doesn't work like this
            i++;
            
   )

【问题讨论】:

商店加载是异步的。 是的,我知道。但是有什么方法可以保持我的数组加载商店的顺序吗? 唯一有保证的方法是在回调中等待,然后加载下一个。但是您的方法似乎错误,我建议您寻找替代解决方案。 谢谢埃文,但实际上我发布了这个问题是为了找到替代解决方案。 【参考方案1】:

您可以使用sort 方法来订购您的商店。 (文档——http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.data.Store-method-sort)

像这样:

store.sort([
        
            property  : 'PropertyName1',
            direction : 'DESC'
        ,
        
            property  : 'PropertyName2',
            direction : 'ASC'
        
    ]);

【讨论】:

谢谢,但我不想对我的商店进行排序。我的商店只退回一件商品。我需要有一个加载每个商店的订单。 me.getMyStore().load( 参数: id : id ) 你正在尝试做的事情很奇怪。你可以试试batch机制docs.sencha.com/extjs/4.2.2/#!/api/Ext.data.Batch 这并没有解决我的问题,我仍然需要按订单致电我的商店。为什么奇怪?拖放事件中有许多树节点,我需要先创建父节点,然后再创建子节点。

以上是关于Extjs:加载商店时更改参数值的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS 4 - 如何加载带有来自表单的最新值的参数的网格存储?

加载商店后如何在网格中设置值? EXTJS3

强制商店仅加载未在 Multiselect 组合选择-EXTJS 中选择的值

ExtJS:使用一个网格加载多个商店

如何在 extraParams 商店 extjs 上设置动态值

如何从 ExtJS 商店打印(或警告)值?