选择字段未在生成时加载
selectfield not loading on build
我几乎要放弃了。我已经尝试了将近一个月的时间,使用sencha touch 2.2.1和sencha cmd 3.1.2.324开发一个应用程序。一切都在开发中工作,但是在创建生产文件(sencha应用程序构建)后,我的选择字段不会加载。
实际上,我已经隔离了应用程序上的所有页面,并且我只使用很少的卡片。从 chrome 我可以检查网络服务是否被调用并按预期返回。控制台不显示任何错误,但选择字段仍为空。
有什么线索吗?
面板:
Ext.define('MySecondApp.view.Home', {
extend: 'Ext.Panel',
xtype: 'mg_home',
config:
{
title: 'Home',
id: 'tabHome',
iconCls: 'info',
layout: 'vbox',
xtype: 'panel',
items:
[
{docked: 'top',xtype: 'titlebar',title: 'Home'},
{
xtype: 'selectfield',
name: 'selectMesHome',
id: 'selectMesHome',
action: 'selectMesHome',
label: 'Mes', /*TODO*/
scrollable: true,
displayField: 'dc_data',
valueField: 'vl_data',
store: 'mesesHome'
},
{
xtype: 'panel',
id: 'home_content',
html: 'carregando...'
}
]
}
});
型:
Ext.define('MySecondApp.model.Meses', {
extend: 'Ext.data.Model',
config: {
fields :
[
{name:'dc_data', type:'string'},
{name:'vl_data', type:'string'}
]
}
});
商店:
Ext.define('MySecondApp.store.mesesHome', {
extend: 'Ext.data.Store',
storeId: 'mesesHomeStore',
config: {
model: 'MySecondApp.model.Meses',
autoLoad: true,
proxy:
{
type: 'ajax',
url: 'http://www.meusgastos.com.br/touch/rest/meses.php',
reader:
{
type: 'json',
root: 'data'
}
}
}
});
Ajax 请求一些以前保存(并经过测试且工作)的凭据。响应将是:
{
"HEADER": [],
"vl_atual": "201308",
"data": [
{
"dc_data": "Agosto/2013",
"vl_data": "201308"
},
{
"dc_data": "Julho/2013",
"vl_data": "201307"
},
{
"dc_data": "Junho/2013",
"vl_data": "201306"
},
{
"dc_data": "Maio/2013",
"vl_data": "201305"
},
{
"dc_data": "Abril/2013",
"vl_data": "201304"
},
{
"dc_data": "Março/2013",
"vl_data": "201303"
}
]
}
进行这些更改,然后重试
店内 ( MySecondApp.store.mesesHome
)
1) 将storeId
放入配置中
2) 将读取器root
更改为rootProperty
所以,商店看起来像这样
Ext.define('MySecondApp.store.mesesHome', {
extend: 'Ext.data.Store',
config: {
storeId: 'mesesHomeStore',
model: 'MySecondApp.model.Meses',
autoLoad: true,
proxy:
{
type: 'ajax',
url: 'http://www.meusgastos.com.br/touch/rest/meses.php',
reader:
{
type: 'json',
rootProperty: 'data'
}
}
}
});
视野 ( MySecondApp.view.Home
)
此更改不是必需的,但我仍然建议您这样做。
赋予存储 ID 以存储选择字段的属性
{
xtype: 'selectfield',
name: 'selectMesHome',
id: 'selectMesHome',
action: 'selectMesHome',
label: 'Mes', /*TODO*/
scrollable: true,
displayField: 'dc_data',
valueField: 'vl_data',
store: 'mesesHomeStore'
},
相关文章:
- 通过单击动态加载的表中同一行的另一个字段来更新一行的字段
- 根据页面加载时的单选按钮选择显示某些字段
- 在第一页加载时隐藏字段,而不是在php发布之后
- 向使用jQuery加载DOM后添加的字段添加不受限制的文本输入DatePickers
- 调用JavaScript函数后,文件上载字段重置
- Selectize.js:如何将数据库中已经选择的标签预加载到输入字段(Meteor&MongoDB/JSON)
- 如何在页面加载时直接使用Javascript在输入字段中填写数据
- 无法访问字段'通过aspx页面上的javascript函数传递来自代码隐藏中函数调用的客户端id的s值(页面加载
- 如何在页面加载一段时间后使用adsense
- 在Meteor中加载带有采集数据的选择输入字段
- 传递数据以填充在ajax Modal中加载的输入字段
- 在ASP.Net web窗体/MVC中动态加载和添加字段
- JavaScript RegEx - 加载十六进制或空字符串的动态字段
- 单击时动态加载输入字段
- 从页面上的字段加载 JavaScript 模型
- 在使用 KnockoutJS 从 API 加载字段后,将字段添加到 observableArray
- 在重新加载代码段上设置 Bootstrap 当前选项卡,而不是在本地存储中存储最后一个选项卡
- 如何序列化包含jQueryajax加载字段的表单
- 在页面加载一段时间后执行JS函数
- 在Dynamics CRM 2011中加粗字段标签,调整字段大小