ExtJs 4.1.0 から ExtJs 4.2.0 に移行したばかりで、次の問題に直面しました。
このアプリケーションでは、Combobox を使用してカスタム ピッカーを作成しました。ピッカーにグリッドを追加しました。このピッカーは ExtJs 4.1.0 では問題なく動作しますが、ExtJs 4.2.0 などのライブラリを置き換えると非常に奇妙な動作をします。
実際には Combobox ストア (この場合は Custom Picker ) で buffered: true を使用しています。ExtJs 4.2.0で問題を引き起こしているのはどれですか。
私の問題を示しているこのフィドルを調べてください: デモ
Ext.onReady(function () { Ext.define("Post", { extends: 'Ext.data.Model', fields: [ {name: 'id', mapping: 'post_id'}, {name: 'title' 、マッピング: 'topic_title'}、{name: 'topicId'、mapping: 'topic_id'}、{name: 'author'、mapping: 'author'}、{name: 'lastPost'、mapping: 'post_time'、type : 'date', dateFormat: 'timestamp'}, {name: 'excerpt', mapping: 'post_text'} ] });
ds = Ext.create('Ext.data.Store', { pageSize: 10, model: 'Post', //buffered: true, leadingBufferZone: 10, proxy: { type: 'jsonp', url : 'http://www.sencha.com/forum/topics-remote.php', reader: { type: 'json', root: 'topics', totalProperty: 'totalCount' } } }); panel = Ext.create('Ext.panel.Panel', { renderTo: Ext.getBody(), title: 'Search the Ext Forums', width: 600, bodyPadding: 10, layout: 'anchor', items: [{ xtype: 'combo', store: ds, displayField: 'title', typeAhead: false, hideLabel: true, hideTrigger:false, anchor: '100%', pageSize: 10, listConfig: { loadingText: 'Searching...', emptyText: 'No matching posts found.', // Custom rendering template for each item getInnerTpl: function() { return '<a class="search-item" href="http://www.sencha.com/forum/showthread.php?t={topicId}&p={id}">'
+ '
{[Ext.Date.format(values.lastPost, "M j, Y")]}
' + '{抜粋}' + ''; } } }, { xtype: 'component', style: 'margin-top:10px', html: 'ライブ検索には最低 4 文字が必要です。}] }); });
by {author}{title}
このフィドルは、buffered: true にコメントしている間は正常に機能します。
ただし、次の場合:
ストアから buffered:true のコメントを外します。
そして、コンボボックスが作成されているページサイズにコメントしてください(ストアではありません)。
次に、結果のフェッチがないことがわかります (ExtJs 4.2.0 を使用)。ExtJs 4.1.0 でも同じシーンが正常に動作しています。
ExtJs 4.1.0 で動作している場合、ExtJs 4.2.0 では動作しないのはなぜですか。これは ExtJs 4.2.0 ですか。これで私を助けてください。前もって感謝します。