2016-05-19 5 views
0

ストレージからデータをレンダリングする際に問題があります。 パネルは:私はコメントしたデータとstore: Ext.data.StoreManager.lookup('IdmlFileStore'), を交換する場合ExtJs6データビューにデータが表示されない

Ext.define('App.view.idmlFile.SearchBar', { 
    extend: 'Ext.panel.Panel', 
    xtype: 'idmlSearchBar', 
    width: 300, 
    header: false, 
    scrollable: true, 

    dockedItems: [{ 
     xtype: 'toolbar', 
     dock: 'top', 
     ui: 'header', 
     padding: 10, 
     items: [ 
      { 
       xtype: 'textfield', 
       name: 'search', 
       emptyText: 'search', 
       width: '88%' 
      }, 
      { 
       xtype: 'button', 
       iconCls: 'x-fa fa-search', 
       listeners: { 
        click: function (element) { 
         //console.log(element); 
        } 
       } 
      } 
     ] 
    }], 

    items: Ext.create('Ext.view.View', { 
     /*store: { 
      data: [ 
       {src: 'http://www.sencha.com/img/20110215-feat-drawing.png', caption: 'Drawing & Charts'}, 
       {src: 'http://www.sencha.com/img/20110215-feat-data.png', caption: 'Advanced Data'}, 
       {src: 'http://www.sencha.com/img/20110215-feat-html5.png', caption: 'Overhauled Theme'}, 
       {src: 'http://www.sencha.com/img/20110215-feat-perf.png', caption: 'Performance Tuned'} 
      ] 
     },*/ 
     store: Ext.data.StoreManager.lookup('IdmlFileStore'), 
     tpl: [ 
      '<tpl for=".">', 
       '<div style="margin-bottom: 10px;" class="thumb-wrap">', 
        '<img src="{src}" />', 
        '<br/><span>{caption}</span>', 
       '</div>', 
      '</tpl>' 
     ], 
     itemSelector: 'div.thumb-wrap', 
     emptyText: 'No items available' 
    }) 

}); 

それはすべて正常に動作します。

ストアは、この(それはまたApplication.jsに「店舗」に含まれている)のようになります。

Ext.define('App.store.IdmlFileStore', { 
extend: 'Ext.data.Store', 
alias: 'store.IdmlFileStore', 
model: 'App.model.IdmlFileModel', 
data: [ 
    {src: 'http://www.sencha.com/img/20110215-feat-drawing.png', caption: 'Drawing & Charts'}, 
    {src: 'http://www.sencha.com/img/20110215-feat-data.png', caption: 'Advanced Data'}, 
    {src: 'http://www.sencha.com/img/20110215-feat-html5.png', caption: 'Overhauled Theme'}, 
    {src: 'http://www.sencha.com/img/20110215-feat-perf.png', caption: 'Performance Tuned'} 
]}; 

にconsole.logは(「検索」から返された)ストアが空でないことを私に示しており、すべてのデータがあります。 どうすればいいですか?

+0

'define'だけのタイプを宣言しています。その時点のすべてが宣言的でなければなりません。ストア・インスタンスは、その時点までに作成されていない可能性があります。 –

答えて

2

としては、すべてのピースは宣言する必要がありますコメントで述べている:

Ext.define('App.view.idmlFile.SearchBar', { 
    extend: 'Ext.panel.Panel', 
    xtype: 'idmlSearchBar', 
    width: 300, 
    header: false, 
    scrollable: true, 

    dockedItems: [{ 
     xtype: 'toolbar', 
     dock: 'top', 
     ui: 'header', 
     padding: 10, 
     items: [{ 
      xtype: 'textfield', 
      name: 'search', 
      emptyText: 'search', 
      width: '88%' 
     }, { 
      xtype: 'button', 
      iconCls: 'x-fa fa-search' 
     }] 
    }], 

    items: { 
     xtype: 'dataview', 
     store: { 
      type: 'IdmlFileStore' 
     }, 
     tpl: [ 
      '<tpl for=".">', 
      '<div style="margin-bottom: 10px;" class="thumb-wrap">', 
      '<img src="{src}" />', 
      '<br/><span>{caption}</span>', 
      '</div>', 
      '</tpl>' 
     ], 
     itemSelector: 'div.thumb-wrap', 
     emptyText: 'No items available' 
    } 
}); 
関連する問題