我是extjs 4的新手。我尝试加载默认值表单加载如下:
launch: function() {
Ext.create('panelid', {renderTo: 'form'});
var form = this.up('panelid').getForm();
var model = Ext.getCmp('modelid');
form.loadRecord(model);
}
这对我来说不起作用undefined form
这是我的观点类
Ext.define('panelid', {
extend: 'Ext.form.Panel',
alternateClassName: [
'confpanel'
],
requires: [
'Ext.container.Container',
'Ext.form.field.File',
'Ext.button.Button'
],
initComponent: function() {
var me = this;
Ext.applyIf(me, {
items: [
{
xtype: 'textfield',
itemId: 'NAME_2',
fieldLabel: 'SDFA',
name: 'NAME_2'
},
{
xtype: 'button',
handler: function(button, e) {
var form = this.up('form').getForm();
if(form.isValid()){
form.submit({
url: 'AA?submit=true'
});
}
},
itemId: 'btnSave',
text: 'Save'
}
]
});
me.callParent(arguments);
}
});
我的商店userClassName名称是'storeid'而我的模型userClassName是modelid
这个非常简单的问题,但是很难理解服务器 - 客户端之间的数据通信。请帮我解决这个简单的问题
答案 0 :(得分:0)
我在您的代码中看到了一些错误:
renderTo只能与Elements一起使用,而不能与组件一起使用。 例如。你的html页面上有Ext.getBody()或div id 对于容器,您应该使用applyTo。
模型不是组件。您不能使用getCmp来获取模型参考。
您必须以定义面板的方式定义它,然后使用您在此处指定的名称作为参考。
检查sencha文档,了解如何完成所有这些操作。它在那里得到了很好的解释。