2017-06-30 6 views
0

Ich versuche, diesen folgenden Code in meiner Anwendung zu verwenden, um den aktuellen Status meiner Anwendung auch nach der Aktualisierung beizubehalten.Statusverwaltung in ext js?

Ext.state.Manager.setProvider(new Ext.state.CookieProvider()); 

Aber nach der Ausführung obigen Codes, es funktioniert nicht für mich.

vorschlagen bitte eine Möglichkeit, dies zu tun, wie ich bin neu in ExtJs

Dank.

+0

Das teilt ExtJs einfach mit, wo der Zustand gespeichert werden soll. Ich empfehle Ihnen, die Dokumentation und die Küchenspüle Beispiele zu sehen – nicholasnet

Antwort

0

Sie müssen dies in der Startfunktion Ihrer Anwendung oder init des Controllers definieren. Seine kritische Verwendung läuft ab, wenn der Statusanbieter verwendet wird.

init : function() { 
     Ext.state.Manager.setProvider(new Ext.state.CookieProvider({ 
      expires : new Date(Ext.Date.now() + (1000*60*60*24*90)) // 90 days 
     })); 
    } 

Dann basierend auf welche Komponenten Zustand Sie versuchen, seine Stateful-Eigenschaft auf true speichern gesetzt, alternativ eine StateID geben.

Unten findet Beispiel Zustand des Gitters zu speichern:

Ext.define('MyApp.view.Users', { 
    extend: 'Ext.grid.Panel', 
    alias: 'widget.users_grid', 
    title: 'Users', 
    stateful:true, 
    stateId:'users_grid_stid', 
    store:{ 
     data:[ 
      { 
       first_name:'Joe', 
       last_name:'Blogs' 
      } 
     ] 
    }, 
    columns: { 
     items: [ 
      { 
       xtype: 'gridcolumn', 
       dataIndex: 'first_name', 
       text: 'First Name', 
       width: 200 
      }, 
      { 
       xtype: 'gridcolumn', 
       dataIndex: 'last_name', 
       text: 'Last Name', 
       width: 200 
      } 
     ] 
    } 
}); 

Sie dies durch Ändern der Breite einer der Säulen in diesem Raster testen kann und dann diese Spalte wird die geänderte Breite wenn Sie die nächste Last wird halten die Seite, auch nach dem Neustart des Browsers. Check F12 Console -> Application Cookies für gespeicherte Komponentenzustände.