Fehler TS2339 beheben – Eigenschaftsmethode existiert nicht für „HTMLElement'
P粉481815897
P粉481815897 2023-12-25 22:52:23
0
1
676

Wenn ich auf die Schaltfläche „Weiter“ drücke, wird der folgende Code ausgelöst, der die erforderliche Aktion ausführt (bei Bedarf zu meinem Element scrollen).

Aber ich erhalte die Fehlermeldung: Existiert nicht auf 错误TS2339:属性'scrollIntoViewIfNeeded'在类型'HTMLElement'. und ich kann mein Projekt nicht erstellen.

const h3Title = ref<HTMLElement | null>(null)
function nextStep(
  currentStep.value++;
  
  if (h3Title.value) {
    h3Title.value.scrollIntoViewIfNeeded({behavior: "smooth", block: "start"})
  }

P粉481815897
P粉481815897

Antworte allen(1)
P粉958986070

我认为 h3Title.value.scrollIntoView({block: "nearest"}) 使用标准的scrollIntoView属性可以实现你想要的(如果元素已经在视图中则不滚动)。

如果您确实希望打字稿识别非标准的scrollIntoViewIfNeeded属性,您可以将其添加到HTMLElement接口(或创建扩展HTMLElement的新接口):

// global.d.ts
interface HTMLElement {
  scrollIntoViewIfNeeded?: any;
}

或者:将 h3Title.value 转换为 any 类型

(h3Title.value as any).scrollIntoViewIfNeeded()
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage