1

我目前正在为我们使用 ExtJS4 开发的 Web 应用程序实现状态管理。

例如,在 Ext.application 中,我写道:

Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
Ext.Component.prototype.stateful = false;

无论哪个控件应该保持其状态,我们都创建了stateful该控件的属性true。在下面的示例中,组合框的 stateful 属性为 true 并且工作正常(这些状态将用于后续登录的用户):

{
    xtype: 'combo'
    stateful: true,
    stateId: 'myid'
}

现在我想知道是否有一种方法可以根据登录的用户在同一台​​机器上维护状态。例如,当 user1 登录并注销时,组合框中选择的值为 10,而当 user2 登录并注销时注销组合框中选择的值为 20。

我想以这样一种方式保持状态,即当用户 1 重新登录时,组合框应显示 10,而对于用户 2,组合框应显示 20。是否可以在每个用户的基础上维护状态,不适用于整个应用程序(基于机器)?

谢谢和问候, Mani Kumar Y

4

1 回答 1

4

一种选择是stateId根据当前用户进行调整,例如stateId: username + '-myid'. 这样,当“user1”登录时,stateId 为user1-myid,而当 user2 登录时,stateId 为user2-myid。这样,状态可以根据当前用户单独存储和加载。

于 2012-06-28T17:16:21.853 回答