我有一个如下所示的数据集:
[{"disposition": {"dispositionId":1,"name":"smdnfgn","code":"jkkhkl;hklhlkjhlhkj","description":"DM_Description 1","sortIndex":1,"status":"DM_St 1"}},{"disposition":{"dispositionId":2,"name":"DM_Name 2","code":"DM_Code 2;lkfdg;l'ksadfg","description":"DM_Description 2","sortIndex":2,"status":"DM_St 2"}}, . . .]
正如您所看到的,后端RESTful服务返回的JSON数组是'具有复杂对象(dispositionId,name,...)的处置对象。
当我将此集合传递给智能表时,除了标题之外我什么都没有。
但是,当我运行一个方法来删除'disposition'并将其转换为一个更简单的数组时,例如:
[{"dispositionId":1,"name":"smdnfgn","code":"jkkhkl;hklhlkjhlhkj","description":"DM_Description 1","sortIndex":1,"status":"DM_St 1"},{"dispositionId":2,"name":"DM_Name 2","code":"DM_Code 2;lkfdg;l'ksadfg","description":"DM_Description 2","sortIndex":2,"status":"DM_St 2"}, . . .]
一切正常。有没有办法让SMart-Table识别标准JSON配置,而无需在检索数据后对其进行编辑?我觉得我忽略了什么。
我在这里查看表格:
<div ng-controller="dispositionSmartCtrl">
<hr>
DispoElements
<smart-table class="table table-striped" table-title="DispoElements"
config="globalConfig" rows=dispoElements columns="columnCollectionDispo">
</smart-table>
{{dispoElements}}<br /><hr><br />
Disposition RowDispositions
<smart-table class="table table-striped" table-title="RowDispositions"
config="globalConfig" rows=rowDispositions columns="columnCollectionDispo">
</smart-table>
{{rowDispositions}}
唯一的区别是正在使用的集合,一个是复杂对象,另一个是香草阵列。我已经尝试了{{}}并且还做了'rowCollections.disposition,第一个导致页面完全失败,第二个给了我一个只有标题的表。
答案 0 :(得分:1)
我设法为自己解决了这个问题。看起来像是头疼的更像是杜鹃!&#39;时刻。它似乎复杂的对象被忽略的原因是双重的。第一个错误,主要的错误是,在定义列时,我未能包含对象引用。例如,我有:
{label: 'Name', map: 'name', isEditable: true}
而不是:
{label: 'Name', map: '***disposition***.name', isEditable: true}
复合错误是列出的列与最高级别对象不对应,因此智能表只显示空白行。如果我根本没有定义列,我会看到对象而不是空白,这可能会让我更快地了解。