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

Vue3+Vite+TS环境中DOMTokenList.entries()类型报错求助

解决方案

1. 手动补充DOMTokenList类型声明

TypeScript的默认DOM类型定义里,DOMTokenList可能未包含entries()这类ES2017+新增的迭代器方法声明。你可以在项目的类型声明文件(比如env.d.ts或src/core/types/dom.d.ts)中添加扩展:

interface DOMTokenList {
  entries(): IterableIterator<[number, string]>;
  keys(): IterableIterator<number>;
  values(): IterableIterator<string>;
  [Symbol.iterator](): IterableIterator<string>;
}

2. 换用更简洁的兼容写法

既然DOMTokenList本身是可迭代对象,完全可以直接遍历,不需要用entries()。修改扩展代码如下,直接绕开类型问题:

DOMTokenList.prototype.removeStartWith = function(prefix:string){
    this.remove(...Array.from(this).filter(c => c.startsWith(prefix)))
}

3. 更新DOM相关类型依赖

检查并更新@types/web包(它包含完整的现代DOM类型定义),旧版本可能缺失entries()的类型声明:

npm install @types/web --save-dev

内容的提问来源于stack exchange,提问作者RıdvanÖnal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 05:05:07