2

Ext 3.4 を使用して、いくつかのフォームでアプリケーションを作成しています。

Ext.panel 内にフォームがあり、折りたたみ可能にしたいので、collapse プロパティを true に設定しています。

ExtJS 3.4 が提供するロード メソッドを使用して、DataBase からのデータをフォームにロードします。

問題は、パネルがユーザーによって折りたたまれた後に「折りたたまれていない」場合、HTMLEditor ウィジェットに属するテキスト領域が空になることです。

問題を解決するために、パネルが何らかの方法で折りたたまれていないときにデータをフォームに再読み込みできますが、これが最善の方法ではないことは理解しています (パネルを折りたたむときにデータを失わないことが最善の方法です)。

誰かがこの問題に遭遇したか、誰かがこの問題を解決する方法を知っている場合は、この情報を共有してください. 私は非常に感謝されます。

4

2 に答える 2

0

Ext JS では、パネルの折りたたみは、スタイル (表示、可視性、またはオフセット) を介して本体を非表示にすることで実現されます。デフォルトでは、展開/折りたたみ後に内部パネル データがクリアされることはありません。プレーンな Ext JS を使用していますか?

なぜこれが起こっているのかを診断してみてください - 最善の方法は、Ext のデバッグ バージョンをアタッチし、expand/collapse メソッドをステップ実行することです。

beforecollapsecollapsebeforeexpandexpandイベントにアタッチされたリスナーがあるかどうかを確認することもできます。eventsパネルのプロパティを調べることでそれを行うことができます。例: console.log(panel.events.collapse.listeners).

あなたができるもう1つのことは、ハンドラーをonresetイベントにアタッチしresetて、フォーム上で呼び出されるかどうかを確認することです。リスナーをアタッチするコード:formPanel.getForm().el.on('reset', function() { alert('reset'); });

于 2012-12-29T16:56:06.743 に答える
0

この問題を解決するために多くの方法を試していますが、いずれにしてもうまくいきません。

最後に、Ext.panel.Panelのすべてのプロパティを検索し、 という名前のプロパティを見つけますcollapseModecollapseMode:'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
                }]
于 2017-05-24T08:15:38.303 に答える