我能够在容器内显示表单。我曾经像这样添加它......
var form = Ext.create('Ext.form.Panel', {
fullscreen: true,
items: [
{
xtype: 'textfield',
name: 'name',
label: 'Name'
},
{
xtype: 'emailfield',
name: 'email',
label: 'Email'
},
{
xtype: 'passwordfield',
name: 'password',
label: 'Password'
}
]
});
Ext.define('MyApp.view.Login',{
extend: 'Ext.Container',
alias: 'widget.login',
config:{
items:[
form
]
}
});
代码的第一部分取自sencha 2.2 docs,但仍然没有结果......
我也试过使用Ext.define并指定一个别名来使用项目中的xtype,但没有任何反应。
可以使用Container来包装formpanel吗?或者我应该转移到Panel?
BTW,我的项目配置了Sencha Touch 2.2和PhoneGap 2.9,当我在xcode上测试时出现问题
提前致谢。
答案 0 :(得分:0)
您的问题可能源于尝试使用Ext.define
定义一个类,并与Ext.create
混合来创建一个实例。为什么要尝试将表单包装在容器中?您应该只需将表单中的items
移到login
面板中,然后将该类扩展为Ext.form.Panel
,如下所示:
Ext.define('MyApp.view.Login', {
extend: 'Ext.form.Panel',
xtype: 'widget.login',
config: {
items: [
{
xtype: 'textfield',
name: 'name',
label: 'Name'
},
{
xtype: 'emailfield',
name: 'email',
label: 'Email'
},
{
xtype: 'passwordfield',
name: 'password',
label: 'Password'
}
]
}
});
如果必须换行,那么尝试仅为表单定义一个新类作为Ext.form.Panel
的扩展(而不是使用实例),然后在{ xtype: 'loginform' }
中使用items
你的MyApp.view.Login
。