Javascript 面板折叠ExtJS上HTMLEditor textarea的数据丢失
我正在使用Ext3.4制作一些表格的应用程序 我在aa Ext.panel中有一个表单,它的collapse属性设置为true,因为我希望它是可折叠的 使用extjs3.4提供的加载方法将数据库中的数据加载到我的表单中 问题在于,当面板被用户折叠后“展开”时,属于HTMLEditor小部件的文本区域被清空。 为了解决这个问题,我可以在面板以某种方式展开时将数据重新加载到表单中,但我知道这不是最好的方法(最好的方法是在折叠面板时不要丢失数据)Javascript 面板折叠ExtJS上HTMLEditor textarea的数据丢失,javascript,database,extjs3,Javascript,Database,Extjs3,我正在使用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上,所以我修改了这篇文章。非常感谢。