【问题标题】:Type '{ class: string; }' is not assignable to type 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'输入'{类:字符串; }' 不可分配给类型 'DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>'
【发布时间】:2022-01-15 00:53:50
【问题描述】:

我正在使用 vue、ts、vite 扩展名。

在 Vs 代码中,我得到了错误 Type '{ class: string; }' is not assignable to type 'DetailedHTMLProps&lt;HTMLAttributes&lt;HTMLDivElement&gt;, HTMLDivElement&gt;'. Property 'class' does not exist on type 'DetailedHTMLProps&lt;HTMLAttributes&lt;HTMLDivElement&gt;, HTMLDivElement&gt;'. Did you mean 'className'?ts(2322)

当我为class&lt;div class=""&gt;&lt;/div&gt;

当我将鼠标悬停在 div 上时,我看到了 (property) div: React.DetailedHTMLProps&lt;React.HTMLAttributes&lt;HTMLDivElement&gt;, HTMLDivElement&gt;

我不知道是什么让 vs 代码假设我正在使用 react。文件类型为.vue

我禁用了 eslint,但仍然出现错误。它在我运行应用程序时有效,但在 vscode 中看到该错误很烦人。

我应该添加一些d.ts 文件吗?

【问题讨论】:

  • 文件类型是什么?你在写jsx吗?
  • @vatz88 不,是.vue
  • @vatz88 我正在使用脚本设置(v3.vuejs.org/api/sfc-script-setup.html)
  • 使用内部类型然后 (DetailedHTMLProps&lt;HTMLAttributes&lt;HTMLDivElement&gt;, HTMLDivElement&gt;) 或更改您的类型,因为 DOM 元素确实不包含 class 属性,也许您的意思是 className / classList
  • 你也可以使用type extendedType = DetailedHTMLProps&lt;HTMLAttributes&lt;HTMLDivElement&gt;, HTMLDivElement&gt; &amp; { class: string }扩展类型

标签: javascript typescript vue.js visual-studio-code vscode-settings


【解决方案1】:

添加此修复它。见这里:https://github.com/johnsoncodehk/volar/discussions/592

// tsconfig.json
{
  "compilerOptions": {
    // ...
    "types": [
      "vite/client", // if using vite
      // ...
    ]
  }
}

我认为当我添加故事书时它添加了反应类型

【讨论】:

    猜你喜欢
    • 2022-01-04
    • 2022-12-01
    • 2021-07-01
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    • 2023-01-03
    • 2018-02-23
    • 2022-09-23
    相关资源
    最近更新 更多