2016-06-13 10 views
0

Also das Problem ist, dass, wenn Sie instanziieren ein Geschäft mitExtJs 6,02 Shop mit configs remoteSort und groupField macht den Laden zu Auto Last

remoteSort

und

groupField

Der Speicher löst eine Anfrage t aus o Der Server verhält sich automatisch.

beispiels

Ext.create('Ext.data.Store',{ 
    remoteSort: true, 
    groupField: 'someProperty', 
    model: 'MyApp.model.SomeModel', 
    proxy: { 
    type: 'ajax', 
    api: { 
     read: 'myRestUrl' 
    }, 
    reader: { 
     type: 'json', 
     rootProperty: 'data' 
    } 
    } 
}); 

Die oben löst eine Anfrage an

myRestUrl

und sollte es nicht.

Mit ExtJs 6,02

+0

Bitte melden Sie [im Sencha Official Forum, in der ExtJS 6 Bugs-Sektion] (https://www.sencha.com/forum/forumdisplay.php?134-Ext-6-Bugs). – Alexander

+0

Danke für den Vorschlag, aber ich denke, das ist eine breitere Plattform und auch aktiver. Ich würde es lieben, wenn Sencha eine eigene Implementierung wie Unity und einige andere hätte. Http://answers.unity3d.com/questions/ –

+1

Ein größeres Publikum kann ExtJS-Bugs nicht beheben, nur Sencha kann das tun. Nuff 'sagte. – Alexander

Antwort

0

So ein Geschäft mit

remoteSort zu vermeiden, dass: true

und

groupField

auto geladen werden, overrode I group Methode auf 'Ext.data.AbstractStore'

/** 
* Groups data inside the store. 
* @param {String/Object} grouper Either a string name of one of the fields in this Store's 
* configured {@link Ext.data.Model Model}, or an object, or a {@link Ext.util.Grouper grouper} configuration object. 
* @param {String} [direction] The overall direction to group the data by. Defaults to the value of {@link #groupDir}. 
*/ 
group: function(grouper, direction) { 
    var me = this, 
     sorters = me.getSorters(false), 
     change = grouper || (sorters && sorters.length) 

    if (grouper && typeof grouper === 'string') { 
     grouper = { 
      property: grouper, 
      direction: direction || me.getGroupDir() 
     }; 
    } 

    me.settingGroups = true; 
    me.getData().setGrouper(grouper); 
    delete me.settingGroups; 

    if (change) { 
     if (me.getRemoteSort()) { 
      /** 
      * when grouping a store only if the store is loaded trigger a load otherwise 
      * the store would be autoloading. 
      */ 
      if(me.isLoaded()) { 
       me.load({ 
        scope: me, 
        callback: me.fireGroupChange 
       }); 
      } 
     } else { 
      me.fireEvent('datachanged', me); 
      me.fireEvent('refresh', me); 
      me.fireGroupChange(); 
     } 
    } 
    // groupchange event must fire when group is cleared. 
    // The Grouping feature forces a view refresh when changed to a null grouper 
    else { 
     me.fireGroupChange(); 
    } 
}, 

});