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

开发时报错Property 'disabled' does not exist on type 'void'如何解决?

报错Property 'disabled' does not exist on type 'void'解决指南

相关参考截图

  • 事件代码截图:Event
  • 报错信息截图:Error

报错本质

这是TypeScript类型校验阶段抛出的错误,核心原因是你尝试读取/修改一个void类型值的disabled属性:void类型代表没有任何返回值,不存在任何可访问的属性。

排查步骤

  • 打开报错信息指向的代码行,找到所有访问.disabled属性的语句
  • 确认你访问disabled的变量来源,如果该变量是某段函数调用的返回值,检查对应函数的返回类型标注与实际return逻辑

常见触发场景与修复

场景1:调用无返回值函数后尝试操作其返回属性

错误示例:

// 该函数无返回值,TS推断返回类型为void
function initBtn() {
  const btn = document.querySelector('#submit')
}

// 错误写法:访问void类型的disabled属性
initBtn().disabled = true

修复方案:给函数补充返回逻辑与正确类型标注

// 补充返回值与类型标注
function initBtn(): HTMLButtonElement {
  return document.querySelector('#submit') as HTMLButtonElement
}

initBtn().disabled = true

场景2:框架事件绑定时误调用函数后访问属性

以React为例的错误示例:

// 错误写法:直接调用handleClick(返回void)后尝试访问属性
<button onClick={handleClick().disabled = false}>提交</button>

修复方案:修正事件绑定逻辑,将函数引用传入事件属性,不要直接调用

// 正确写法
<button onClick={handleClick} disabled={false}>提交</button>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 15:18:00