0

こんにちは、データビュー項目の右クリックでコンテキスト メニューを表示しようとしています。Ext.menu.Menuをインスタンス化し、そのshowAtメソッドを呼び出したitemcontextmenuイベントを処理しましたが、 TypeError: me.el.translatePoints is not a function in Component.jsとしてエラーが発生しています。

elundefinedであることを確認しました。translatePoints関数が機能するには、どの値を割り当てる必要がありますか? または他の回避策がありますか?

以下の私のコードを見つけてください:

    {
        xtype: 'dataview',
        store: 'SearchedGraphics',
        tpl: [
            '<tpl for=".">',
                '<div class="thumb-wrap" id="{name:stripTags}">',
                '<div class="thumb"><table><tr><td><img class="img" src="{url}" title="{name:htmlEncode}"></td></tr></table></div>',
                '<span class="x-editable">{shortName:htmlEncode}</span>',
                '</div>',
            '</tpl>',
            '<div class="x-clear"></div>'
        ],
        multiSelect: true,
        height: 310,
        trackOver: true,
        overItemCls: 'x-item-over',
        itemSelector: 'div.thumb-wrap',
        emptyText: ORT.Utility.GridEmptyText,

        prepareData: function(data) {
            Ext.apply(data, {
                shortName: Ext.util.Format.ellipsis(data.name, 15),
                sizeString: Ext.util.Format.fileSize(data.size),
                dateString: Ext.util.Format.date(data.lastmod, "m/d/Y g:i a")
            });
            return data;
        },
        listeners: {
            selectionchange: function(dv, nodes ){
                if(false) {
                    var l = nodes.length,
                    s = l !== 1 ? 's' : '';
                    this.up('panel').setTitle('Simple DataView (' + l + ' item' + s + ' selected)');
                }
            },
            itemcontextmenu: function(dataview, record, item, index, event, eOpts){

                var menu = Ext.create('Ext.menu.Menu', {
                    width: 100,
                    el:'p',
                    margin: '0 0 10 0',
                    floating: false,  
                    items: [{
                        text: 'regular item 1'
                    },{
                        text: 'regular item 2'
                    },{
                        text: 'regular item 3'
                    }]
                }).showAt(event.getXY());

            }
        }
    }
4

1 に答える 1

1

1) なぜ float を false に設定したのかわかりません。メニューなので浮くはずです。

2) el config をまったく設定しないでください。

于 2012-11-07T09:55:56.157 に答える