首页 > 解决方案 > Lit Element VSCode 插件未知属性'frameborder'

问题描述

我在 lit 元素的模板中使用 iframe,而 lit 元素 VSCode 插件会出现以下错误:

未知属性“框架边框”。您的意思是“.frameBorder”吗?这是一个内置标签。请考虑使用“data-*”属性,将属性添加到“globalAttributes”或禁用“no-unknown-attribute”规则。lit-plugin(no-unknown-attribute)(2318)

任何人都知道是否可以告诉插件忽略该属性?

标签: javascripthtmltypescriptvisual-studio-codelit-element

解决方案


检查这个:

此错误表明您的 lit-html 模板引用了 lit-analyzer 无法解析的标记。

必须向 TypeScript 声明该元素,以便分析器找到它。例如:

export class FancySlider extends HTMLElement {
  value: number;
  // etc...
}
customElements.define('fancy-slider', FancySlider);

declare global {
  interface HTMLElementTagNameMap {
    'fancy-slider': FancySlider,
  }
}

如何修复它必须满足三个条件:

  1. TypeScript 中的元素必须有类型,要么是因为元素的代码是用 TpeScript 编写的,要么是因为元素有 TypeScript 类型。
  2. 该类型必须与 HTMLElementTagNameMap 中元素的标记名相关联。
  3. 您使用元素的文件必须依赖于元素的声明,通常是通过导入它。最常见的是,您只是缺少元素的导入。如果您正在导入元素,并且您的代码在运行时工作,那么您需要为该元素定义一个接口,并将其添加到 HTMLElementTagNameMap。

它是如何配置的

默认情况下启用此错误。可以通过将 skipUnknownTags 设置为 true 来禁用它。

要忽略有关标签的错误而不将它们声明到 TypeScript 类型系统,您可以将它们添加到 globalTags,但是几乎总是声明一个类型是一个更好的主意。

来源:https ://lit.tools/unknown-tag


推荐阅读