如果我有像JSON那样的响应,
{
"something": "foo",
"subobject": {
"id": "bar",
"name": "baz"
}
}
我正在使用form.setValues(responseObject)
将响应加载到表单中。
如果我在子对象的表单中有displayfield
,我如何将该对象从该子对象放入该字段?或者更好的是,如何将名称和ID放入该字段?
我尝试了自定义渲染器,但传递给渲染器的value参数是一个包含"[object Object]"
的字符串。
我正在使用ExtJS 4.1.3。有人有什么建议吗?
答案 0 :(得分:2)
通过将以下内容添加到我的displayfield config
来实现它valueToRaw: function(value) {
return value;
}
标准valueToRaw将对象转换为字符串,这对任何人都没用。
然后我添加了这个自定义渲染器以将我的字段显示为链接
renderer: function(value, field) {
if (!value) {
return;
}
return "<a href='" + value.id + "'> " + value.name + "</a>";
}
我觉得我应该能够使用模板而不是自定义渲染器,但是我没有运气。