将 SVG.select() 方法与 svg.js 库的 class 选择器一起使用不适用于打字稿

Using SVG.select() method with class selector of the svg.js library doesn't work with typescript

我正在测试 svg.js library with typescript and having some problems with usage of CSS selectors. I would like to select SVG element using select() method with class selector. In the presented fiddle 它与 javascript:

完美配合
var circleTwo = SVG.select('circle.circle-01');

不幸的是,它不适用于打字稿。 Lib 是这样导入的:

import * as SVG from 'svg.js;

当悬停在select()方法上时,获取有关第二个参数的信息:

然而根据 the documentation

Additionally, a second argument can be passed to define the parent element to search in

它似乎是一个可选参数,因为您可以在没有它的情况下使用 select() 方法:

var elements = SVG.select('rect.my-class').fill('#f06')

我玩了一会儿,发现了如何消除这个错误(问题是,这是正确的方法吗?),但是我以后不能使用click() 所选元素上的事件,因为另一个错误:

Property 'click' does not exist on type 'Set'.

testMe() 是在所选元素上测试 click() 事件的简单方法:

  testMe() {
    alert('it works even better!');
  }

我做错了什么?

似乎类型定义有误。那不是你的错,你应该打开错误报告。在它得到修复之前,您可以解决它:

SVG.select('rect.my-class', undefined as any)