Typescript D3 enter()并在每个循环中绘制不同的组件

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() 是否有绘制/渲染多元素的功能? 我使用

我想用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()

是否有绘制/渲染多元素的功能? 我使用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;
        });