我无法在视图中显示列表。我似乎从我的ajax调用中获取数据。 我在这里肯定遗漏了一些东西。请帮忙。感谢
以下是详细信息: 数据:
Stations.json
[
{
"id": "129",
"stop": "NY Station",
},
{
"id": "13",
"stop": "Newark Station",
}
]
模型:
Ext.define('MyApp.model.Station', {
extend: 'Ext.data.Model',
config: {
fields: [
{name: 'id', type: 'string'},
{name: 'stop', type: 'string'}
]
}
});
商店:
Ext.define('MyApp.store.Stations', { extend : 'Ext.data.Store', requires: ['MyApp.model.Station'], id: 'stations', xtype: 'stations', config : { model : 'MyApp.model.Station', storeId: 'stationsStore', autoLoad : true, //sorters: 'stop', proxy: { type: 'ajax', url: 'Stations.json' } });
查看:
Ext.define('MyApp.view.MyService', {
extend: 'Ext.Panel',
xtype: 'stationsformPage',
fullscreen: true,
layout: 'vbox',
requires: [
'MyApp.store.Stations',
'Ext.form.FieldSet',
'Ext.field.Password',
'Ext.SegmentedButton',
'Ext.List'
],
config: {
iconCls: 'settings',
title: 'My Service',
items: [
{
docked: 'top',
xtype: 'toolbar',
title: 'My Service'
},
{
xtype: 'list',
title: 'Stations',
store: 'stationsStore',
styleHtmlContent: true,
itemTpl: '<div><strong>{stop}</strong> {id}</div>'
},
]
},
initialize: function() {
/*
Ext.Ajax.request({
scope : this,
url: 'StationLocator.json',
callback : function(options, success, response){
var json = Ext.decode(response.responseText);
alert(response.responseText); //this works
alert(json[0].stop); //this works
}
});
*/
}//initialize
});
答案 0 :(得分:2)
我把它放在TabPanel中。这会有帮助吗?它看起来像这样:
以下是我的观点:
Ext.define('MyApp.view.MyService', { extend: 'Ext.tab.Panel', xtype: 'stationsformPage', fullscreen: true, layout: { pack: 'center' }, requires: [ 'MyApp.store.Stations', 'Ext.form.FieldSet', 'Ext.field.Password', 'Ext.SegmentedButton', 'Ext.List' ], config: { tabBarPosition:'bottom', layout: { type: 'card', animation: { duration: 300, easing: 'ease-in-out', type: 'slide', direction: 'left' } }, fullscreen: true, title: 'My Service', items: [ { docked: 'top', xtype: 'toolbar', title: 'My Service' }, { xtype: 'list', title: 'Stations', store: 'stationsStore', // height: 600, // width: 400, // style: 'background-color: #c9c9c9;', styleHtmlContent: true, itemTpl: '{stop} {id}' } ] } });
这是一个将列表放在常规面板中的版本:
Ext.define('MyApp.view.MyService', { extend: 'Ext.Panel', xtype: 'stationsformPage', fullscreen: true, layout: { pack: 'center' }, requires: [ 'MyApp.store.Stations', 'Ext.form.FieldSet', 'Ext.field.Password', 'Ext.SegmentedButton', 'Ext.List' ], config: { fullscreen: true, layout: 'fit', // Specifying fit is important. Won't see list without it title: 'My Service', items: [ { docked: 'top', xtype: 'toolbar', title: 'My Service' }, { xtype: 'list', store: 'stationsStore', styleHtmlContent: true, itemTpl: '{stop} {id}' } ] } });