Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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上HTMLEditor textarea的数据丢失_Javascript_Database_Extjs3 - Fatal编程技术网

Javascript 面板折叠ExtJS上HTMLEditor textarea的数据丢失

Javascript 面板折叠ExtJS上HTMLEditor textarea的数据丢失,javascript,database,extjs3,Javascript,Database,Extjs3,我正在使用Ext3.4制作一些表格的应用程序 我在aa Ext.panel中有一个表单,它的collapse属性设置为true,因为我希望它是可折叠的 使用extjs3.4提供的加载方法将数据库中的数据加载到我的表单中 问题在于,当面板被用户折叠后“展开”时,属于HTMLEditor小部件的文本区域被清空。 为了解决这个问题,我可以在面板以某种方式展开时将数据重新加载到表单中,但我知道这不是最好的方法(最好的方法是在折叠面板时不要丢失数据) 如果有人遇到此问题或知道解决此问题的方法,请共享此信息

我正在使用Ext3.4制作一些表格的应用程序

我在aa Ext.panel中有一个表单,它的collapse属性设置为true,因为我希望它是可折叠的

使用extjs3.4提供的加载方法将数据库中的数据加载到我的表单中

问题在于,当面板被用户折叠后“展开”时,属于HTMLEditor小部件的文本区域被清空。

为了解决这个问题,我可以在面板以某种方式展开时将数据重新加载到表单中,但我知道这不是最好的方法(最好的方法是在折叠面板时不要丢失数据)


如果有人遇到此问题或知道解决此问题的方法,请共享此信息。非常感谢。

在Ext JS中,面板折叠是通过样式(显示、可见性或偏移量)隐藏其主体来实现的,默认情况下展开/折叠后肯定不会清除内部面板数据。你使用普通的ExtJS吗

尝试诊断发生这种情况的原因-最好的方法是附加Ext的调试版本,并逐步执行展开/折叠方法

您还可以检查是否有任何侦听器附加到
预折叠
折叠
预展开
展开
事件。您可以通过查看面板的
事件
属性来实现这一点。例如:
console.log(panel.events.collapse.listeners)


您可以做的另一件事是将处理程序附加到
onreset
事件,以查看是否调用了表单上的
reset
。附加侦听器的代码:formPanel.getForm().el.on('reset',function(){alert('reset');})

我尝试了很多方法来解决这个问题,但都不管用

最后,我查找的所有属性,并找到一个名为
collapseMode
的属性。因此,我将
collapseMode:'header'
添加到面板中,
htmleditor
中的数据不再丢失

我的代码:

                xtype: 'panel',
                region: 'south',
                itemId: 'remarkWrap',
                height: 140,
                //style: 'margin-top:10px;',
                layout: 'fit',
                title: 'title',
                collapsible: true,
                plain: true,
                hideMode: 'offsets',
                resizable:{
                    handles:'n',
                    minHeight: 140,
                    maxHeight:500,
                    pinned:true,
                },
                titleCollapse : true,
                collapseMode:'header',
                items: [{
                    xtype: 'htmleditor',
                    itemId: 'remarkInput',
                    labelAlign: 'top',
                    inputAttrTpl: "spellcheck='false'",
                    readOnly : true
                }]

我意识到这个问题只出现在可折叠面板中包含的属于HTMLEditor的textarea上,所以我修改了这篇文章。非常感谢。