2012-11-13 44 views
2

我正在嘗試使用Sencha Touch 2。我做了一個簡單的JSON店比我的屏幕更多的項目可以顯示測試滾動,但每一次我嘗試滾動我得到以下錯誤:嘗試滾動時未捕獲類型錯誤Ext.List

Uncaught TypeError: Cannot call method 'getCount' of null 

我試圖找出什麼是錯,但一直沒找到解決方案呢。也許任何人可以幫忙? 這裏是我的示例文件:

host.json:

{ 
"hosts": [ 
    { 
     "host_name": "host 1", 
     "status": "pending" 
    }, 
    { 
     "host_name": "host 2", 
     "status": "normal" 
    }, 
    { 
     "host_name": "host 3", 
     "status": "critical" 
    } 

      ... 

] 
} 

我的商店:

Ext.define('myapp.store.MyStore', { 
extend: 'Ext.data.Store', 

config: { 
    storeId: 'mystore', 
    model: 'myapp.model.MyModel', 

    proxy: { 
     type: 'ajax', 
     url: 'host.json', 
     reader: { 
      type: 'json', 
      rootProperty: 'hosts' 
     } 
    }, 
    autoLoad: true 
} 

}); 

的列表視圖:

Ext.define('myapp.view.MyListView', { 
extend: 'Ext.dataview.List', 
alias: 'widget.mylistview', 



config: { 
    items: { 
     xtype: 'list', 
     store: 'mystore', 
     itemTpl: '<div class="service_status_{status}">{host_name}</div>' 
    } 
} 
}); 

而且圖,其中列表 - 查看被稱爲:

Ext.define('myapp.view.Main', { 
extend: 'Ext.Container', 

config: { 
    layout: { 
     type: 'vbox', 
     aligh: 'stretch' 
    }, 

    items: [ 
     { 
      xtype: 'mytoolbar', 
      docked: 'top', 
      height: 50 
     }, 
     { 
      xtype: 'mylistview', 
      flex: 1 
     } 
    ] 
} 
}); 
+1

找到解決方案:您必須爲listview使用'fit'佈局。我將listview更改爲適合佈局的容器,現在它完美滾動。 – pyriand3r

回答

0

使用'合適'佈局可能會解決它。

這裏的東西,你肯定應該隨之改變:

這已經定義了一個列表

Ext.define('myapp.view.MyListView', { 
    extend: 'Ext.dataview.List', 
    xtype: 'mylistview', 

這是列表的配置:

config: { 

在這裏,你添加列表內,你實際使用的列表。 這不會好。這將是一個很好的理由,有些事情沒有按預期工作。

items: { 
     xtype: 'list', 
     store: 'mystore', 
     itemTpl: '<div class="service_status_{status}">{host_name}</div>' 
    }