1

レイアウト タイプのオーバーライドを設定しようとすると、レイアウト実行エラーが発生しますが、何が原因かわかりません。

子アイテムとして tabpanel を持つ親ビューがあります。

Ext.define('InventoryDemo.view.main.Main', {
    extend: 'Ext.panel.Panel',
    xtype: 'app-main',

    requires: [
        'Ext.plugin.Viewport',
        'InventoryDemo.view.brand.Brand'
    ],

    title: '<h1>Inventory Demo</h1>',
    layout: 'border',

    items:[
        {
            ...
        },
        // This is the tab panel that I'm trying to add the container class to
        {
            xtype: 'tabpanel',
            title: 'Inventories',
            header: false,
            region: 'center',
            reference: 'inventoryTabSet'
        }
    ]
});

そして、これは私がタブとしてタブパネルに追加しようとしているビューです:

Ext.define("InventoryDemo.view.inventory.list.Inventory",{
    extend: "Ext.container.Container",
    xtype: 'inventory',

    ...

    closable: true,
    layout:{
        type: 'hbox',
        align: 'stretch'
    },
    items:[
        {
            xtype: 'grid',
            bind:{
                store: '{inventory}'
            },

            listeners:{
                itemclick: 'showDetails'
            },

            columns:[
                { text: 'Name', dataIndex: 'name', flex: 1 },
                { text: 'Price', dataIndex: 'price' },
                { text: 'Active', dataIndex: 'active' },
            ]
        }
    ]
});

これは、レイアウト構成を含めない場合に機能します。

    layout:{
        type: 'hbox',
        align: 'stretch'
    },

それが省略されている場合、ビューは問題なく読み込まれますが、hbox タイプを含めると実行に失敗します。

コール スタックを調べてみましたが、正直なところ、エラーの原因を確認するためにまだ緑にしています。

[E] レイアウト実行の失敗ログ @ ext-all-rtl-debug.js?_dc=1444523987794:8732logx @ ext-all-rtl-debug.js?_dc=1444523987794:8768Ext.apply.log.log.error @ ext-all -rtl-debug.js?_dc=1444523987794:8771Ext.define.handleFailure @ ext-all-rtl-debug.js?_dc=1444523987794:214144Ext.define.runComplete @ ext-all-rtl-debug.js?_dc=1444523987794 :214616callOverrideParent @ ext-all-rtl-debug.js?_dc=1444523987794:1348Ext.Base.Base.addMembers.callParent @ ext-all-rtl-debug.js?_dc=1444523987794:11711Ext.override.runComplete @ ext-all -rtl-debug.js?_dc=1444523987794:61413Ext.define.run @ ext-all-rtl-debug.js?_dc=1444523987794:214610Ext.define.statics.flushLayouts @ ext-all-rtl-debug.js?_dc =1444523987794:61421Ext.define.statics.resumeLayouts @ ext-all-rtl-debug.js?_dc=1444523987794:61436Ext.resumeLayouts @ ext-all-rtl-debug.js?_dc=1444523987794:66954Ext.define。notify @ ext-all-rtl-debug.js?_dc=1444523987794:92658Ext.define.onTick @ ext-all-rtl-debug.js?_dc=1444523987794:92677(無名関数) @ ext-all-rtl-debug. js?_dc=1444523987794:6416(無名関数) @ ext-all-rtl-debug.js?_dc=1444523987794:6606 3ext-all-rtl-debug.js?_dc=1444523987794:8732 [E] Layout run failedlog @ ext -all-rtl-debug.js?_dc=1444523987794:8732logx @ ext-all-rtl-debug.js?_dc=1444523987794:8768Ext.apply.log.log.error @ ext-all-rtl-debug.js?_dc =1444523987794:8771Ext.define.handleFailure @ ext-all-rtl-debug.js?_dc=1444523987794:214144Ext.define.runComplete @ ext-all-rtl-debug.js?_dc=1444523987794:214616callOverrideParent @ ext-all-rtl -debug.js?_dc=1444523987794:1348Ext.Base.Base.addMembers.callParent @ ext-all-rtl-debug.js?_dc=1444523987794:11711Ext.override.runComplete @ ext-all-rtl-debug.js?_dc =1444523987794:61413Ext.define.実行 @ ext-all-rtl-debug.js?_dc=1444523987794:214610Ext.define.statics.flushLayouts @ ext-all-rtl-debug.js?_dc=1444523987794:61421Ext.define.statics.resumeLayouts @ ext-all- rtl-debug.js?_dc=1444523987794:61436Ext.resumeLayouts @ ext-all-rtl-debug.js?_dc=1444523987794:66954privates.statics.notify @ ext-all-rtl-debug.js?_dc=1444523987794:116731privates. statics.onTimer @ ext-all-rtl-debug.js?_dc=1444523987794:116750Ext.Function.fireHandlers @ ext-all-rtl-debug.js?_dc=1444523987794:6303onTimer @ ext-all-rtl-debug.js?_dc=1444523987794:116750Ext.Function.fireHandlers @ ext-all-rtl-debug.js?_dc=1444523987794:6303onTimer @ ext-all-rtl-debug.js?_dc=1444523987794:116750Ext.Function.fireHandlers @ ext-all-rtl-debug.js?_dc=1444523987794:6303

デフォルト以外のレイアウトタイプを使用しようとすると失敗するビューの設定方法について何かありますか?

4

1 に答える 1

6

コンテナのレイアウトが に設定されている場合、そのコンテナの子はまたはhboxを持つことが期待されます。にまたはを指定すると、レイアウトの実行に失敗することはありません。flexwidthflexwidthgrid

ここにフィドルがあります: https://fiddle.sencha.com/#fiddle/v9a

于 2015-10-11T06:28:48.560 に答える