typescript d3.js此.parent节点返回一些类型脚本错误

kkih6yb8  于 2023-03-31  发布在  TypeScript
关注(0)|答案(1)|浏览(122)

我用d3.js打字,我创建了显示数据的图形,黑色矩形的高度取决于我从generateData中获得的数字,数据是任何大于0的数字。对于此数据,我想在悬停时显示此矩形的相应数字。问题是我从打字错误
没有重载与此调用匹配。重载% 1,共% 2,'(选择器:string):Selection〈BaseType,unknown,HTMLElement,any〉',gave the following error. Argument of type 'ParentNode|“null”不能分配给类型为“string”的参数。类型“null”不能分配给类型“string”。重载第2个,共2个,“(node:BaseType):Selection〈BaseType,unknown,null,undefined〉',给出了以下错误。|“null”不能分配给类型“BaseType”的参数。类型“ParentNode”不能分配给类型“BaseType”。类型“ParentNode”缺少类型“Document”中的以下属性:URL,alinkColor,all,anchors,and 191 more.ts(2769)
这是我目前为止写的代码:

const data = generateData(50);

     const margin = { top: 10, right: 30, bottom: 30, left: 40 },
     width = 800 - margin.left - margin.right,
     height = 400 - margin.top - margin.bottom;

     const svg = d3
        .select(".visualization")
         .append("svg")
         .attr("width", width + margin.left + margin.right)
         .attr("height", height + margin.top + margin.bottom)
         .attr("transform", "translate(" + margin.left + "," + margin.top + ")");

     const rects = svg.selectAll("rect").data(data).enter().append("rect");

    rects
      .attr("x", (_, i) => i * (width / data.length))
      .attr("y", (d) => height - d)
      .attr("width", () => width / data.length - 1)
      .attr("height", (d) => d)
      .on("mouseover", function (d, i) {
        d3.select(this.parentNode).append("text").text(d);
       });

    export {};
zxlwwiss

zxlwwiss1#

您可以用途:

(event, d) => d3.select(event.target.parentNode).append("text").text(d)

相关问题