Visjs / React:动态构建数据集

问题描述 投票:0回答:1

我从服务器请求数据然后尝试将其分配给items。 console.log显示正确的数据,但我收到一个错误:Failed prop type: Invalid props 'items' of type 'object supplied to Timeline, expected array'. I thoughtitems.add`将数据集转换为数组?

var items = new vis.DataSet();
items.add(data.abs.map(a, index) => ({
  id: index + 1, 
  content: a.Ent, 
  start: a.time, 
  title: a.Trc, 
  end: null
})));

数据:

"data": {
  "abs": [
    {
      "Ent": "Changed",
      "time": 1499348050000,
      "Trace": [
        {
          "filename": "C:/Users/Public/Desktop/word.doc"
        }
      ]  
    }
javascript reactjs vis.js vis.js-network vis.js-timeline
1个回答
0
投票

根据vis.dataset docsadd不转换数据集,它只返回添加项的ID的数组。在您的代码示例中,变量items实际上是数据集对象本身。当你调用items.add(...表达式确实返回一个数组时,你却没有捕获它。我假设您将项目作为道具传递,它仍然是数据集对象,但您可以使用::map函数,它返回一个数组。

© www.soinside.com 2019 - 2024. All rights reserved.