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"}) }
我认为
h3Title.value.scrollIntoView({block: "nearest"})
使用标准的scrollIntoView属性可以实现你想要的(如果元素已经在视图中则不滚动)。如果您确实希望打字稿识别非标准的scrollIntoViewIfNeeded属性,您可以将其添加到HTMLElement接口(或创建扩展HTMLElement的新接口):
或者:将
h3Title.value
转换为any
类型