-2

私はext jsの初心者で、問題に悩まされています。私はこれが私のコントローラー
の機能であるアプリを作成しました。init

init: function () {
        console.log('initialized filesystem controller');
        this.control({
            'filesystemtree': {
                itemdblclick: this.OpenFile,
                select: this.NodeSelected
            },
            'filesystemtree filesystemmenu button[text="Delete"]': {
                click:this.DeleteButtonClicked
            }
        });
    }

これはxtype : 'filesystemtree'

Ext.define('IDE.view.fileSystem.List', {
    extend: 'Ext.tree.Panel',
    alias: 'widget.filesystemtree',
    title: 'Navigation2',
    store: 'FileSystems',
    rootVisible: 'false',
    dockedItems: [{
        xtype:'filesystemmenu',
        dock:'top'
    }],
    initComponent: function () {
        console.log('file system tree initializing');
        this.callParent(arguments);
    }
})

これはxtype:filesystemmenuドッキングされたビューですfilesystemtree

Ext.define('IDE.view.fileSystem.FileSystemMenu', {
    extend: 'Ext.toolbar.Toolbar',
    alias: 'widget.filesystemmenu',
    items: [
        {
            xtype: 'splitbutton',
            text: 'Menu',
            menu: new Ext.menu.Menu({
                items: [
                        {
                            text: 'Delete'
                        },
                        {
                            text: 'Copy'
                        },
                        {
                            text: 'Paste'
                        },
                        {
                            text: 'Cut'
                        },
                        {
                            name: 'Rename',
                            xtype: 'textfield',
                            emptyText: 'Enter text to rename'
                        }
                    ]
            })
        },
        {
            text: 'Add Item',
            id:'FSAddItemButton'
        },
        '->',
        {
            xtype: 'box',
            id: 'fileSystemNodeNameLabel'
        }
    ]
})

filesystemmenuしかし、コントローラでは、それ自体が にドッキングされたアイテムとして存在するに存在する削除ボタンにクリックイベントを添付することはできませんfilesystemtree。基本的に、コントローラーのこの行は機能していません。

'filesystemtree filesystemmenu button[text="Delete"]': {
                click:this.DeleteButtonClicked
            }

私は何を間違っていますか?

4

1 に答える 1

0

セレクターを見てください。「削除」というテキストを含むボタンを見つけるように要求していますが、メニューの子はデフォルトで Ext.menu.Item であるため、条件に一致するコンポーネントがありません。したがって、セレクターは次のようにする必要があります。

'filesystemtree filesystemmenu menuitem[text="Delete"]'
于 2012-05-30T06:19:56.793 に答える