1

一直在网上搜索,似乎找不到合适的答案,希望有人遇到过您需要将 ExtJSgetFormValues响应类型的结构更改为控制器期望的结构的问题。

例如

form.a = "I'm A"
form.b = "I'm B"
form.c = "I'm C"

来自的 JSONgetFieldValues()是:

"fom_name":{
  "a": "I'm A",
  "b": "I'm B",
  "c": "I'm C"
}

但是,我需要的控制器结构是

{
    "form_name": {
        "nestedArray": [{
            "a": "I'm A",
            "b": "I'm B",
            "c": "I'm C"
        }],
        "array2": []
    }
}

我知道我可以迭代字段值并动态更改它们以适应结构,但寻找可以为我做到这一点的通用解决方案。

有什么想法吗?

谢谢,

伊恩。

4

1 回答 1

1

我知道我可以迭代字段值并动态更改它们以适应结构

我可能会这样做,因为它看起来相当微不足道,而且我认为没有更简单的方法可以做到这一点。如果需要,您可以将其作为覆盖包含(Ext.form.Basic.getFieldValues):

Ext.override(Ext.form.Basic, {
    getFieldValues: function(dirtyOnly) {

        //return this.getValues(false, dirtyOnly, false, true);

        var vals = this.getValues(false, dirtyOnly, false, true);

        var output = {};
        //iterate through vals and structure it the way you want it
        return output;
    },
});
于 2013-03-19T15:18:40.983 回答