1

古い Ext.Panel クラスを拡張するクラスがあります。現在、sencha が提供する移行ガイドを利用して、アプリケーションを移行しようとしています。私は ext3 "Portal"-Example の修正を使用しています。

アプリケーションを読み込もうとすると、適切な説明とともに「非推奨」および「中断」エラーが発生します。しかし、エラーが 1 つあります。修正できません。上記のように「portal.bwrap is undefined」とありますが、「portal」は Ext.Panel のサブクラスです。ext3 にはプロパティ「bwrap」がありましたが、新しい ext にはありません。また、ext4 でこれを修正する方法は、互換性レイヤーにも移行ガイドにも記載されていません。

bwrap が使用される 2 つの場所を次に示します。

 constructor : function(portal, cfg){
    this.portal = portal;
    Ext.dd.ScrollManager.register(portal.body);
    Ext.ux.Portal.DropZone.superclass.constructor.call(this, portal.bwrap.dom, cfg);
    portal.body.ddScrollConfig = this.ddScrollConfig;
},

[...]

getGrid : function(){
    var box = this.portal.bwrap.getBox();
    box.columnX = [];
    this.portal.items.each(function(c){
         box.columnX.push({x: c.el.getX(), w: c.el.getWidth()});
    });
    return box;
},

助言がありますか?

4

1 に答える 1

2

bwrap は、そのパネル本体をラップする div でした。もう存在しません。コードを見ないと何をすべきかわかりませんが、メイン パネル要素または本体自体のいずれかを参照する必要がある可能性があります。

参考までに、ポータルの例は既に 4 に移植されています。

于 2011-05-23T13:21:23.180 に答える