Heim > Fragen und Antworten > Hauptteil
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粉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()