Typeahead / TypeScript - 不同泛型类型的多个数据集

时间:2016-09-19 16:06:09

标签: generics typescript typeahead.js

我有两个数据集,每个都是不同的泛型类型。除了

的初始化之外,一切都很顺利
var localDataset: Twitter.Typeahead.Dataset<Node>;
var globalDataset: Twitter.Typeahead.Dataset<Budget>;
...
typeahead(options, localDataset, globalDataset);

我收到错误

  

错误:(130,13)TS2453:类型参数的类型参数&#39; T&#39;   无法从使用中推断出来。考虑指定类型   参数明确。输入参数候选者&#39;节点&#39;不是有效的   类型参数,因为它不是候选人的超级类型&#39;预算&#39;。

作为一种解决方法,我将数据集转换为,但是什么是正确的解决方案?

1 个答案:

答案 0 :(得分:1)

  

作为一种解决方法,我将数据集转换为,但是什么是正确的解决方案

整合两种类型的任何东西,例如一个map或只是:

type NodeOrBudget = Node | Budget;

var localDataset: Twitter.Typeahead.Dataset<NodeOrBudget>;
var globalDataset: Twitter.Typeahead.Dataset<NodeOrBudget>;
...
typeahead(options, localDataset, globalDataset);