現在、私は ext.js 6 を学んでおり、質問があります。
ツリーのようなメニューを作成したいのですが、例からあらゆる種類のツリーを作成する方法を知っています。しかし、ユーザーがツリー内の別のリーフをクリックしたときにビューを変更するにはどうすればよいですか? イベント(onClickなど)を操作するにはコントローラー(viewcontroller)とハンドラーが必要ですが、そこからビューをレンダリングするにはどうすればよいですか?
ありがとうございました。
現在、私は ext.js 6 を学んでおり、質問があります。
ツリーのようなメニューを作成したいのですが、例からあらゆる種類のツリーを作成する方法を知っています。しかし、ユーザーがツリー内の別のリーフをクリックしたときにビューを変更するにはどうすればよいですか? イベント(onClickなど)を操作するにはコントローラー(viewcontroller)とハンドラーが必要ですが、そこからビューをレンダリングするにはどうすればよいですか?
ありがとうございました。
add()
そのためには関数を使用する必要があります:
add( コンポーネント ) : Ext.Component[]/Ext.Component
コンポーネントをその親に追加します。
レンダリングするビューをパラメーターとして渡す必要があります
例えば。formpanel
ビュー ポートに&button
を直接追加する:
Ext.Viewport.add([
{
xtype:'formpanel'
},
{
xtype:'button'
}
]);
私のアプリケーションです(実際にはExtJS 4を使用していますが、考え方は同じだと思います)私は次のようにします:
var viewport = Ext.create('Ext.container.Viewport', {
alias: 'widget.viewport',
layout: 'border',
items: [
// Its my main menu, displayed on all pages
portalToolbar,
{
xtype: 'panel',
itemId: 'mainPanel',
layout: 'fit',
region: 'center'
}
]
});
メニュー項目をクリックすると、メイン パネルからコンテンツを削除し、次のように新しいコンテンツを追加します。
// remove previous page from main panel,
// think about `abort()`ing all ajax requests, clear intervals and so on along with this
mainPanel.removeAll();
// `currentInterface` is any component that is one of the pages of my application
mainPanel.add([currentInterface]);
また、上記のようにExt.util.History
、メニューをクリックして履歴に新しいトークンを追加し、履歴change
イベントを開くアプリケーションページを確認することもできます。