我有以下代码:
public data = [
{
value: 61,
color: 'orange',
},
{
value: 29,
color: 'white',
},
{
value: 10,
color: 'blue',
},
];
public pie = d3
.pie()
.padAngle(0)
.value((d: any) => d.value);
const arcs = this.pie(this.data);
从本质上讲,这是有关使用d3js构建甜甜圈图的各种教程的结果.
现在,我想为数据数组中的项目添加一个自定义接口,并在.value()函数中正确键入d参数.
问题在于,@ types / d3包将预期的数据数组定义为number [],将d参数定义为number.
这意味着我不能为数据项使用自定义界面.在这种情况下,D3的打字程序包似乎是错误的,因为我阅读的所有教程都采用这种方式,并且代码工作正常.
在这种情况下,我有什么选择?有什么解决方法吗?我可以覆盖妨碍输入的类型吗?
解决方法:
d3的派只接受一个泛型.
解决方法如下:
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);
原文地址:https://codeday.me/bug/20191108/2006300.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。