使用基于标签名称的TypeScript元素类型?

时间:2020-03-19 08:58:06

标签: typescript svg

我解析一个html文档

const document = new DOMParser().parseFromString(xmlText, "text/xml");

我在该文档中寻找svg标记

const svgRoot = svgDocument.querySelector("svg")

对于每个孩子,我想使用各种缩小的svg元素的类型,但还没有找到一种比使用断言更好的方法?

Array.from(svgRoot.children).forEach(svgElement => {
    convertElement(svgElement)
});

convertElement(element: Element) {
    switch (element.tagName) { // tag names map to converter classes
        case "line":
            // validate line
            // ta pixlar
            return convertLine(element as SVGLineElement)
        default:
            throw Error(`Unknown element: ${element.tagName}`)
    }
}

如何在不使用断言的情况下将元素视为SVGLineElement?

0 个答案:

没有答案
相关问题