【问题标题】:Extjs: change params value while loading storeExtjs:加载商店时更改参数值
【发布时间】: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++;
            }
   })

【问题讨论】:

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

标签: arrays asynchronous extjs4 store


【解决方案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
  • 这并没有解决我的问题,我仍然需要按订单致电我的商店。为什么奇怪?拖放事件中有许多树节点,我需要先创建父节点,然后再创建子节点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-10
  • 2014-03-11
  • 1970-01-01
  • 2013-03-17
  • 2012-03-11
相关资源
最近更新 更多