なぜこれが起きているのか理解しようとしています。私が抱えている問題は、StoreがRestProxyを通じてロードされたモデルであるListを持つPanelを持つアプリケーションをロードすると、リストが空であるように見えるということです。表示される行の1つに触れるまではありません。表示するには、各行をタッチする必要があります(別のタブに切り替えることもできます)。私は、サーバーがJSONデータをどれくらい早く送信するかとは関係があるように、これを絞り込んだ。サーバーが高速に応答すると、この問題は発生しません(データがダウンロードされた後にリストの '描画'が発生すると思います)。AJAXの応答が遅い場合は、リスト行が表示されません。
JSONを送信する前にサーバーに遅れを追加すると(3秒間)、問題が発生します。レイアウトを削除すると{type: 'card'}、それも正しくレンダリングされることに気付きました。実際にはTabControlの一部であるため、実際のアプリケーションでこれを行うことはできません
私が間違っていることを誰かが指摘できますか?ちなみに、これはiPhoneで見た場合にのみ発生します。 Chromeで開いたときはすべて正常です。
var proxy = new Ext.data.RestProxy({
format: 'json',
url: '/tabs/1/members',
reader: {
type: 'json',
root: 'data'
}
});
Ext.regModel('User', {
fields: [ 'name' ],
proxy: proxy
});
var store = Ext.regStore('myStore', {
model: 'User',
autoLoad: true
});
MyList = Ext.extend(Ext.Panel, {
fullscreen: true,
layout: {type: 'card' }, // Commenting this line also 'fixes' the problem
initComponent: function() {
this.list = new Ext.List({
itemTpl: '<div>{name}</div>',
store: 'myStore',
scroll: false,
autoHeight: true
});
this.items = this.list;
MyList.superclass.initComponent.call(this);
}
});
Ext.reg('mylist', MyList);
Ext.setup({
onReady: function() {
new MyList();
}
});
私はこれをテストする時間がありませんでしたが、すぐに私は結果を投稿します。ありがとう。 –