私が正しくあなたがこのような何かを行うことができます達成したいのか理解していれば:
Ext.create('Ext.panel.Panel', {
border: true,
bodyStyle: {
padding: '10px'
},
collapsible: true,
hideCollapseTool: true,
html: 'Some data',
renderTo: Ext.getBody(),
title: '▲ Header ▼',
titleAlign: 'center',
titleCollapse: true
});
このworking fiddleをチェックしてください。それでも高さ/幅を100%とボタンを追加したい場合は
あなたはこのような何かを行うことができます。
var myPanel = Ext.create('Ext.panel.Panel', {
...
title: '<button id="myButton" style="...">My header button</button>'
...
});
をし、ハンドラを追加(パネル・ヘッダーのパディングを削除することを忘れないでください)この
のように、この
// Get Ext.dom.Element via Ext.dom.Element.get() method
Ext.get('myButton').on('click', function() {
if(myPanel.getCollapsed())
myPanel.expand();
else
myPanel.collapse();
});
やJSのような、ExtJSのを経由してそれに
document.getElementById('myButton').addEventListener('click', function() {
if(myPanel.getCollapsed())
myPanel.expand();
else
myPanel.collapse();
});
これをチェックするworking fiddle
ヘッダーにいくつかのボタンを追加する場合は、Ext.panel.Panel.tools
configを使用することもできます。
もちろん、Ext.panel.Header
を上書きすることもできます。
ありがとうございます! "について...純粋なJSまたはExtJSを介してハンドラを追加してください..." - あなたはどんな例を与えることができますか?私はPanelのidを 'panelId'、ButtonのIDを 'btnId'としています - どうすれば使えますか? 私の場合、レンダリング(リスナー)の 'panel.header.el.on'を呼び出すことはできません。理由は分かりますか? – TWriter