Forms 在ExtJS中,如何将对象加载到表单字段中?
如果我有一个JSON响应,比如Forms 在ExtJS中,如何将对象加载到表单字段中?,forms,extjs,extjs4,Forms,Extjs,Extjs4,如果我有一个JSON响应,比如 { "something": "foo", "subobject": { "id": "bar", "name": "baz" } } 我正在使用form.setValues(responseObject)将响应加载到表单中 如果子对象的形式中有displayfield,如何将子对象中的名称放入该字段?或者更好的是,如何将名称和id放入该字段 我尝试了一个自定义渲染器,但传入渲染器的value参数是一个包含
{
"something": "foo",
"subobject": {
"id": "bar",
"name": "baz"
}
}
我正在使用form.setValues(responseObject)
将响应加载到表单中
如果子对象的形式中有displayfield
,如何将子对象中的名称放入该字段?或者更好的是,如何将名称和id放入该字段
我尝试了一个自定义渲染器,但传入渲染器的value参数是一个包含“[object object]”
的字符串
我正在使用ExtJS4.1.3。有人有什么建议吗?通过将以下内容添加到我的displayfield配置中来实现
valueToRaw: function(value) {
return value;
}
标准值AW将对象转换为字符串,这对任何人都没有用处
然后我添加了这个自定义渲染器,将我的字段显示为链接
renderer: function(value, field) {
if (!value) {
return;
}
return "<a href='" + value.id + "'> " + value.name + "</a>";
}
渲染器:函数(值、字段){
如果(!value){
返回;
}
返回“”;
}
我觉得我应该能够使用模板而不是自定义的渲染器,但我没有运气让它正常工作。从长远来看,通过使用模型和存储以及使用表单设置表单字段,您可能会得到更好的服务。loadRecord(record)@dbrin,你这么说很有趣。我只是在我的问题中添加了一条评论,大意是同时使用存储和表单是一个巨大的痛苦。@dbrin,顺便说一句,前面的评论并不是有意贬低。根据我的经验,存储和表单似乎不是为互操作性而设计的。但我仍然是一个ExtJS新手。这取决于你打算用表单做什么,以及你的数据模型有多复杂。然而,在大多数情况下,这种关系很好:看看Sencha的这个例子