Heim  >  Fragen und Antworten  >  Hauptteil

Fehler TS2339 beheben – Eigenschaftsmethode existiert nicht für „HTMLElement“

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粉481815897P粉481815897298 Tage vor606

Antworte allen(1)Ich werde antworten

  • P粉958986070

    P粉9589860702023-12-26 10:50:15

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

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

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

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

    (h3Title.value as any).scrollIntoViewIfNeeded()
    

    Antwort
    0
  • StornierenAntwort