【发布时间】:2017-03-27 18:38:13
【问题描述】:
我正在组件内部进行休息调用。我在 clr-datagrid 中呈现数据。首次渲染时,数据是倾斜的和未对齐的。如果我对数据进行排序,或者在网格上做任何事情,数据就会正确对齐。我假设这是由于网格没有及时获得所有数据来计算正确的列宽。我在构造函数内部进行了 REST 调用,尽管我也尝试将它移到 ngOnInit() 函数中,但没有任何改进。
组件中 REST 调用的推荐位置在哪里?正确返回数据后,是否需要调用某些东西以使 UI “刷新”它对宽度的计算?
由于此代码正在对内部服务器进行 REST 调用,我无法提供 Plunker 复制它。
组件代码:
export class NodesComponent implements OnInit {
nodes: Node[] = [];
currentNode: Node;
constructor(private dataService: DataService) {
this.dataService.getNodes().subscribe(nodesAsJson => {
for (let nodeAsJson of nodesAsJson) {
let node: Node = new Node(nodeAsJson);
this.nodes.push(node);
}
});
}
HTML 代码
<h4><clr-icon shape="server" size="24"></clr-icon>Nodes ({{ nodes.length }})</h4>
<clr-datagrid>
<clr-dg-column [clrDgField] = "'id'">ID</clr-dg-column>
<clr-dg-column [clrDgField] = "'name'">Name</clr-dg-column>
<clr-dg-column [clrDgField] = "'type'">Type</clr-dg-column>
<clr-dg-row *clrDgItems="let node of nodes">
<clr-dg-cell>{{ node.id }}</clr-dg-cell>
<clr-dg-cell>{{ node.name }}</clr-dg-cell>
<clr-dg-cell>{{ node.type }}</clr-dg-cell>
</clr-dg-row>
<clr-dg-footer>
{{pagination1.firstItem + 1}} - {{pagination1.lastItem + 1}} of {{pagination1.totalItems}} Nodes
<clr-dg-pagination #pagination1 [clrDgPageSize]="5"></clr-dg-pagination>
</clr-dg-footer>
【问题讨论】:
-
有人吗?有什么建议吗?
标签: angular vmware vmware-clarity