2017-08-09 10 views
1

itemsresponsiveConfigに変更できますか?ExtJS 6応答設定を使用してアイテムを変更する

私のような何かをしようとしました:、

Uncaught TypeError: Cannot read property 'length' of undefined 
    at constructor.init (:1841/ext/build/ext-all-debug.js?_dc=1502287779074:233268) 
    at constructor.invalidate (:1841/ext/build/ext-all-debug.js?_dc=1502287779074:235386) 
    at constructor.invalidate (:1841/ext/build/ext-all-debug.js?_dc=1502287779074:235435) 
    at constructor.invalidate (:1841/ext/build/ext-all-debug.js?_dc=1502287779074:235435) 
    at constructor.invalidate (:1841/ext/build/ext-all-debug.js?_dc=1502287779074:235435) 
    at constructor.flushInvalidates (:1841/ext/build/ext-all-debug.js?_dc=1502287779074:235261) 
    at constructor.run (:1841/ext/build/ext-all-debug.js?_dc=1502287779074:235764) 
    at Function.flushLayouts (:1841/ext/build/ext-all-debug.js?_dc=1502287779074:64540) 
    at Function.resumeLayouts (:1841/ext/build/ext-all-debug.js?_dc=1502287779074:64555) 
    at Object.Ext.resumeLayouts (:1841/ext/build/ext-all-debug.js?_dc=1502287779074:70319) 

私はこの問題を説明するためにバイオリンを作成しようとしました:

{ 
    xtype: 'container', 
    layout: { 
     type: 'hbox', 
     pack: 'center' 
    }, 
    defaults: { 
     xtype: 'box' 
    }, 
    plugins: 'responsive', 
    // Simple items configuration is for example only 
    responsiveConfig: { 
     'width <= 768': { 
      items: [ 
       { 
        html: 'Less than 768' 
       } 
      ] 
     }, 
     'width > 768': { 
      items: [ 
       { 
        html: 'More than 768' 
       } 
      ] 
     } 
    } 
} 

を私は次のようなエラー画面サイズの変更を取得応答可能な設定がフィドル内で正常に機能しないようです。 responsiveConfigドキュメントから

Ext.define('MyApp.container.Container', { 
    override: 'Ext.container.Container', 

    setItems: function (component) 
    { 
     if (this.hasOwnProperty('items')) { 
      this.removeAll(); 
      this.add(component); 
     } 
     // If container is not initialized yet 
     else { 
      this.items = Ext.isArray(component) ? component : [component]; 
     } 
    } 
}); 

答えて

2

お知らせこの抜粋:

UPDATE:setItems方法Ext.container.Containerにを追加することで解決@ scebotari66のおかげで、コンフィグについて

は、それがなければならないresponsiveConfigとして参加します "setter"メソッドがあります。

容器にはsetItemsメソッドがありません。ですから、これを機能させるには、自分で作成する必要があります。基本的に既存のアイテムをすべて削除し、新しいアイテムを追加する必要があります。

関連する問題