Typescript D3 enter()并在每个循环中绘制不同的组件
我想用tr和td写表,我的问题是如何用条件写列Typescript D3 enter()并在每个循环中绘制不同的组件,typescript,d3.js,Typescript,D3.js,我想用tr和td写表,我的问题是如何用条件写列 let d3data: any[][] = this.defaultData(); 这是行数据的示例 let d3data[0]=[1, "Malang", 2017, [{date:1, value:200},{date:2, value:100},{date:3, value:500}]]; 这是第4列的示例行是数组数据,我需要用这些数据创建折线图,我已经有了创建折线图的函数,但是如何使用html() 是否有绘制/渲染多元素的功能? 我使用
let d3data: any[][] = this.defaultData();
这是行数据的示例
let d3data[0]=[1, "Malang", 2017, [{date:1, value:200},{date:2, value:100},{date:3, value:500}]];
这是第4列的示例行是数组数据,我需要用这些数据创建折线图,我已经有了创建折线图的函数,但是如何使用html()
是否有绘制/渲染多元素的功能?
我使用html并定义数据是否为数组,然后调用createLineChart,但柱状图从不呈现
这是我创建图表的功能
public craeteLineChart(dataList: TransformDateValueModel[], root: HTMLDivElement): d3.Selection<SVGSVGElement, any, any, any> {
// .....
return canvas;
}
公共CraetLineChart(数据列表:TransformDateValueModel[],根目录:HtmlLevel):d3.选择{
// .....
返回画布;
}
将html()更改为append()
public craeteLineChart(dataList: TransformDateValueModel[], root: HTMLDivElement): d3.Selection<SVGSVGElement, any, any, any> {
// .....
return canvas;
}
tr.selectAll("div")
.data(function (d, i) {
return d;
})
.enter().append("div")
.attr('class', function (d, i) {
return "" + KpiMatrix.COLUMNS[i];
})
.append(function (d) {
let div = document.createElement('div');
if (Array.isArray(d)) {
that.craeteLineChart(d, div);
} else {
div.innerHTML = d;
}
return div;
});