我从服务器请求数据然后尝试将其分配给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"
}
]
}
根据vis.dataset docs,add
不转换数据集,它只返回添加项的ID的数组。在您的代码示例中,变量items
实际上是数据集对象本身。当你调用items.add(...
表达式确实返回一个数组时,你却没有捕获它。我假设您将项目作为道具传递,它仍然是数据集对象,但您可以使用::map
函数,它返回一个数组。