2

如果我有类似的 JSON 响应,

{
    "something": "foo",
    "subobject": {
        "id": "bar",
        "name": "baz"
    }
}

我正在使用将响应加载到表单中form.setValues(responseObject)

如果我displayfield的表单是子对象,如何将子对象中的名称放入该字段?或者更好的是,我如何将名称和 id 放入该字段?

我尝试了自定义渲染器,但传入渲染器的 value 参数是一个包含"[object Object]".

我正在使用 ExtJS 4.1.3。有人有什么建议吗?

4

1 回答 1

2

通过将以下内容添加到我的显示字段配置中使其工作

valueToRaw: function(value) {
    return value;
}

标准 valueToRaw 将对象转换为字符串,这对任何人都没有用。

然后我添加了这个自定义渲染器以将我的字段显示为链接,

renderer: function(value, field) {
    if (!value) { 
        return; 
    }
    return "<a href='" + value.id + "'> " + value.name + "</a>";
}

我觉得我应该能够使用模板而不是自定义渲染器,但我没有运气让它工作。

于 2012-12-14T19:59:33.803 回答