Javascript pie()不接受对象数组
我有以下代码:Javascript pie()不接受对象数组,javascript,typescript,d3.js,Javascript,Typescript,D3.js,我有以下代码: public data = [ { value: 61, color: 'orange', }, { value: 29, color: 'white', }, { value: 10, color: 'blue', }, ]; 这基本上是关于使用d3js构建圆环图的各种教程的结果 现在,我想为数据数组中的项添加一个自定义接口,并在.value()函数中正确键入d参数 问题是,@types/d3包将预期的数
public data = [
{
value: 61,
color: 'orange',
},
{
value: 29,
color: 'white',
},
{
value: 10,
color: 'blue',
},
];
这基本上是关于使用d3js构建圆环图的各种教程的结果
现在,我想为数据数组中的项添加一个自定义接口,并在.value()
函数中正确键入d
参数
问题是,@types/d3
包将预期的数据数组定义为number[]
,d
参数定义为number
这意味着我不能为数据项使用自定义接口。在这种情况下,D3的typings包似乎是错误的,因为我读过的所有教程都是这样做的,代码工作得很好
在这种情况下,我有什么选择?有什么解决办法吗?我可以忽略妨碍我的打字吗
d3
的pie
仅为此接受一个泛型
以下是解决此问题的方法:
interface IData {
value: number;
color: string;
}
const data: IData[] = [
{
value: 61,
color: 'orange',
},
{
value: 29,
color: 'white',
},
{
value: 10,
color: 'blue',
},
];
const pie = d3
.pie<IData>()
.padAngle(0)
.value(d => d.value);
const arcs = pie(data);
接口数据{
值:数字;
颜色:字符串;
}
常数数据:IData[]=[
{
价值:61,
颜色:“橙色”,
},
{
价值:29,
颜色:'白色',
},
{
数值:10,
颜色:“蓝色”,
},
];
常数pie=d3
.pie()
.padAngle(0)
.value(d=>d.value);
常数弧=饼图(数据);
const arcs = this.pie(this.data);
interface IData {
value: number;
color: string;
}
const data: IData[] = [
{
value: 61,
color: 'orange',
},
{
value: 29,
color: 'white',
},
{
value: 10,
color: 'blue',
},
];
const pie = d3
.pie<IData>()
.padAngle(0)
.value(d => d.value);
const arcs = pie(data);