You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用eslint-plugin-solid的solid/event-handlers自动修复后出现TypeScript错误

关于eslint-plugin-solid自动修复事件名引发TypeScript报错的问题

问题1:为什么eslint-plugin-solid会将onDblClick自动修复为onDoubleClick?

你使用的eslint-plugin-solid版本是0.8.0,该版本的solid/event-handlers规则存在适配错误——它错误地将符合SolidJS规范的onDblClick事件名强制修复为onDoubleClick。实际上,SolidJS的HTML属性类型定义(和DOM标准、React一致)采用onDblClick作为双击事件的处理属性名,这个规则的修复逻辑与SolidJS的实际类型规范不匹配,后续版本的插件已经修正了这个问题。

问题2:如何避免出现TypeScript错误?

可以通过以下几种方式解决:

方式1:升级eslint-plugin-solid到最新版本

这是最彻底的解决方案,新版本已经修复了solid/event-handlers规则的错误,不会再错误修改onDblClick事件名。执行命令:

npm install eslint-plugin-solid@latest --save-dev

方式2:配置规则忽略onDblClick

如果暂时无法升级插件,可以在.eslintrc.json中给solid/event-handlers规则添加例外,让它忽略onDblClick的检查:

{
  "rules": {
    "solid/event-handlers": ["warn", { "ignore": ["onDblClick"] }]
  }
}

方式3:暂时关闭该规则

如果不需要该规则的其他检查,可以直接关闭solid/event-handlers规则:

{
  "rules": {
    "solid/event-handlers": "off"
  }
}

方式4:手动恢复事件名并忽略警告

将修复后的onDoubleClick改回onDblClick,并通过注释忽略ESLint针对该行的警告:

export const App = () => {
  // eslint-disable-next-line solid/event-handlers
  return <div onDblClick={() => alert("hello world")}>double click me</div>;
};

内容的提问来源于stack exchange,提问作者ymk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 05:36:05