ExtJs:将表单字段附加到内存中的对象
我不理解ExtJs的一些关键习惯用法,所以这个问题是关于如何引导我做到这一点的。我想我试图以错误的方式使用ExtJs 我正在编写一个应用程序,允许用户添加动态数量的子记录。让我们假设我正在描述一个房间,用户可以单击“添加门”按钮,将一个门模板添加到一个模板列表中,他们可以在其中指定门的详细信息 我将门的细节作为对象保存在内存中,我希望能够将在组合框、文本字段等中选择值的结果与正确对象上的字段相连接。我的计划是能够使用JSON/XHR/REST将对象发送到服务器并将其持久化。我对门对象(例如空间对象)进行了其他处理,因此希望有自己的处理 到目前为止,我试过的都没用。我可以钩住select事件,但要么我的作用域是字段控件(在这种情况下,我无法访问door对象),要么我的作用域是door对象,我无法访问字段控件的值 我有点困惑,因为ExtJs谈到链接到隐藏字段。但是,对于给定的控件,它似乎只需要一个具有给定id的字段。这意味着我不能有多个门,除非该id的范围限于FormPanel 最后,理想情况下,我会有一个通用的商店,更新颜色组合框的新条目,以便多个门共享。如果有人知道这方面的例子,我将不胜感激ExtJs:将表单字段附加到内存中的对象,extjs,Extjs,我不理解ExtJs的一些关键习惯用法,所以这个问题是关于如何引导我做到这一点的。我想我试图以错误的方式使用ExtJs 我正在编写一个应用程序,允许用户添加动态数量的子记录。让我们假设我正在描述一个房间,用户可以单击“添加门”按钮,将一个门模板添加到一个模板列表中,他们可以在其中指定门的详细信息 我将门的细节作为对象保存在内存中,我希望能够将在组合框、文本字段等中选择值的结果与正确对象上的字段相连接。我的计划是能够使用JSON/XHR/REST将对象发送到服务器并将其持久化。我对门对象(例如空间对
var doorDataEditor = new Ext.form.FormPanel({
labelWidth: 75,
width: 350,
defaultType: 'textfield',
items: [{
fieldLabel: 'colour',
name: 'colour',
xtype: 'combo',
store: colourStore,
displayField: 'name',
typeAhead: true,
mode: 'local',
triggerAction: 'all',
emptyText: 'Select the colour for this door...',
selectOnFocus:true,
value: door.colour,
listeners:{
scope: door,
'select': function(ev, target) {
alert(target.findField('name')); this.colour = target.value;
}
}
}]});
提前感谢您的帮助。您使用的是通用DOM事件处理程序格式(ev,target),但这不是通用DOM事件。对于组件,您应该在中查找适当的特定于组件的事件签名。在这种情况下,对于ComboBox is
(Ext.form.ComboBox combo,Ext.data.Record Record,Number index)
您应该能够从Record.data.color
中获取值(假设您的记录就是这样映射的)。太好了!这就是我所缺少的洞察力。我没有将事件列表与记录自定义参数相连接。