我可以在 ag-grid 的数据源中使用包含句点 (".") 的字段名称吗?

Can I use a field name which contains a period (".") in my data source for ag-grid?

我有一个数据源,其中包含名称中带有句点的字段。例如

[{
   "id": 1234,
   "OD.name": "Andrew",
   "OD.age": 21
},{
   "id": 1235,
   "OD.name": "Roofus",
   "OD.age": 22
}]

但是,当我将其绑定到网格时,不会呈现字段名称中包含句点的列的值。这是 ag-grid 中已知的 bug/not-supported 吗?

字段名称将被网格解释为表达式,因此如果您提供字段 name.of "OD.name",它将尝试查找 "OD" 属性 的数据行,然后尝试找到它的 "name" 属性。当然,那是行不通的。

但是,您可以在列定义中提供一个 "valueGetter" 函数,该函数将负责向网格提供值。在那个函数中,你可以做任何你需要做的事情来从行中获取值并return它。

只需确保 suppressFieldDotNotation 设置为 true

来自农业网格参考 https://www.ag-grid.com/javascript-grid-properties/

If true, then dots (eg address.firstline) in field names are not treated as deep references. Allows you to use dots in your field name if you prefer.