Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Extjs保存动态选项卡并在页面加载时重新呈现它们,这可能吗?_Javascript_Extjs_Tabs_State_State Saving - Fatal编程技术网

Javascript Extjs保存动态选项卡并在页面加载时重新呈现它们,这可能吗?

Javascript Extjs保存动态选项卡并在页面加载时重新呈现它们,这可能吗?,javascript,extjs,tabs,state,state-saving,Javascript,Extjs,Tabs,State,State Saving,我正在使用Extjs动态添加新选项卡。。但是,有没有一种方法可以将新添加的选项卡保存在某个位置(可能在数据库中),因为每当用户重新访问页面时,我必须动态呈现用户创建的所有选项卡 我可以制作标签,将标签的状态保存在cookie中。。但我知道,为了保存新创建的选项卡的状态,我必须首先将选项卡的Html(?)片段保存在某个地方 这是我的密码: var tab; var tabIndex = 0; var tabArray = []; Ext.application({ launch: funct

我正在使用Extjs动态添加新选项卡。。但是,有没有一种方法可以将新添加的选项卡保存在某个位置(可能在数据库中),因为每当用户重新访问页面时,我必须动态呈现用户创建的所有选项卡

我可以制作标签,将标签的状态保存在cookie中。。但我知道,为了保存新创建的选项卡的状态,我必须首先将选项卡的Html(?)片段保存在某个地方

这是我的密码:

var tab;
var tabIndex = 0;
var tabArray = [];

Ext.application({
  launch: function() {
    Ext.state.Manager.setProvider(new Ext.state.CookieProvider({
      expires: new Date(new Date().getTime() + (1000 * 60 * 60 * 24 * 7))
    }));
    Ext.create('Ext.container.Viewport', {
      layout: 'absolute',
      items: [{
        x: 50,
        y: 50,
        width: 300,
        height: 300,
        xtype: 'tabpanel',
        stateful: true,
        stateId: 'tp1',
        stateEvents: ['tabchange'],
        getState: function() {
          return {
            activeTab: this.items.findIndex('id',this.getActiveTab().id)
          };
        },
        applyState: function(s) {
          this.setActiveTab(s.activeTab);
        },
        items: [{
          id: 'c0',
          title: 'Tab One'
        }, {
          id: 'c1',
          title: 'Tab Two'
        }, {
          id: 'c2',
          title: 'Tab Three'
        }],
        bbar: [
                  {
                      text: 'Add Tab',
                      //region: 'south',
                      xtype: 'button',
                      handler: function () {
                          var tabs = this.up('tabpanel');
                          tab = tabs.add({
                              title: 'Tab ',
                              closable:true,
                              xtype:'panel',
                              width: '100%',
                              height: '100%',
                              items: []                                                 
                          }).show();
                      }
                  }
              ]
        }]
    });
  }
});
我是不是在做一些不切实际的事情?或者,是否可以存储新创建的选项卡,并在页面加载时使用新创建的选项卡呈现整个选项卡面板

我很抱歉问了这么广泛的问题:)


谢谢。

我过去也做过类似的事情。这就是我们的设计方法虽然含糊不清,但我们还是做到了

当您动态创建一个选项卡并向其中添加项目(面板/输入字段)并更改这些项目的值(比如在文本框中输入文本,选中复选框)时,当您最终点击save时,我们将以JSON格式提取所有数据

您需要根据需要保存的值进行自定义构建,例如项的类型、值、其子结构等等

然后,当需要重新呈现页面时,使用JSON构建页面。构建此解决方案并不容易。但是,一旦您完成了,它将可用于所有选项卡,无论动态性如何


最后,它肯定是可能的,我过去也做过类似的事情。这就是我们的设计方法虽然含糊不清,但我们还是做到了

当您动态创建一个选项卡并向其中添加项目(面板/输入字段)并更改这些项目的值(比如在文本框中输入文本,选中复选框)时,当您最终点击save时,我们将以JSON格式提取所有数据

您需要根据需要保存的值进行自定义构建,例如项的类型、值、其子结构等等

然后,当需要重新呈现页面时,使用JSON构建页面。构建此解决方案并不容易。但是,一旦您完成了,它将可用于所有选项卡,无论动态性如何


最后,它肯定是可能的,你不想有一个HTML片段,知道把项目放在哪里吗?你真的不能直接呈现Json,对吗?我的目标是创建选项卡,每个选项卡都有一个门户面板,portalpanel内的user add的portlet基本上填充了每个选项卡。我的应用程序必须记住他有多少个标签以及动态更新的portlet的数量和类型:|对我来说似乎有点不切实际,但是有可能我相信
如果你能提供一个小片段作为我上面代码的扩展来存储Json东西,我将不胜感激。我想说的是,我们需要基于Json重建ExtJs组件。我们不能将JSON呈现为这样,提取JSON也不是一件即时的事情。您需要手动构造JSON。我手头没有代码。您需要做的是迭代选项卡的子项并手动创建JSONAlright。。我将尝试通过迭代子组件来构造Json,并将它们保存在每个用户的数据库中:)希望可以。。谢谢你还是不想有一个HTML代码片段,知道把项目放在哪里吗?你真的不能直接呈现Json,对吗?我的目标是创建选项卡,每个选项卡都有一个门户面板,portalpanel内的user add的portlet基本上填充了每个选项卡。我的应用程序必须记住他有多少个标签以及动态更新的portlet的数量和类型:|对我来说似乎有点不切实际,但是有可能我相信
如果你能提供一个小片段作为我上面代码的扩展来存储Json东西,我将不胜感激。我想说的是,我们需要基于Json重建ExtJs组件。我们不能将JSON呈现为这样,提取JSON也不是一件即时的事情。您需要手动构造JSON。我手头没有代码。您需要做的是迭代选项卡的子项并手动创建JSONAlright。。我将尝试通过迭代子组件来构造Json,并将它们保存在每个用户的数据库中:)希望可以。。谢谢