簡體   English   中英

Kendo Grid:添加帶有嵌套對象的新行停止工作

[英]Kendo Grid: add new row with nested object stopped working

我通過這種方式從嵌套JSON填充Kendo數據網格:

https://stackoverflow.com/a/24441318/535556

一切正常,直到我單擊“添加新行”按鈕。

然后,我收到控制台錯誤消息:

“未捕獲的TypeError:無法讀取未定義的屬性'street”

我想問一下如何正確格式化數據以獲得具有更新數據的嵌套JSON對象?

非常感謝您的任何建議。

當您添加新行而未為dataSource定義架構模型時,正在創建的對象還沒有“ address”字段。 帶有“ address.street”的列正試圖從新對象的“ address”字段中獲取“ street”字段,該字段此時未定義,因此會出現錯誤。

壞消息是,架構模型定義實際上並不適合嵌套類型。 好消息是,您可以使用defaultValue為{}定義一個“地址”字段,並且Grid編輯器應該很高興。

$("#myGrid").kendoGridEx({

    ...

    columns: [
        { field: "address.street" },
        { field: "address.city" },
        { field: "address.state" },

        ...

    ],

    dataSource: new kendo.data.DataSourceEx({

        ...

        schema: {
            model: {
                id: "Id",
                fields: {
                    address: { defaultValue: {} },
                },
            },
        },

        ...
    }),

});

現在,當您添加新行時,綁定對象的“地址”字段將為{}。 當然,“街道”,“城市”和“州”字段是未定義的,但是它們的父對象“地址”已定義,因此訪問它們的字段時不會看到錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM