Visjs / React:动态构建数据集

时间:2019-01-12 02:47:13

标签: javascript reactjs vis.js vis.js-network vis.js-timeline

我正在从服务器请求数据,然后尝试将其分配给items。 console.log显示的是正确的数据,但出现错误:Failed prop type: Invalid props 'items' of type 'object supplied to Timeline, expected array'. I thought items.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"
        }
      ]  
    }

1 个答案:

答案 0 :(得分:0)

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