Maison > Questions et réponses > le corps du texte
Lorsque j'appuie sur le bouton "Suivant", le code ci-dessous se déclenche, effectuant l'action requise (faire défiler jusqu'à mon élément si nécessaire).
Mais j'obtiens cette erreur : Doesn't exist on 错误TS2339:属性'scrollIntoViewIfNeeded'在类型'HTMLElement'.
et je n'arrive pas à construire mon projet.
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
Je pense que h3Title.value.scrollIntoView({block: "nearest"})
l'utilisation de la propriété scrollIntoView standard permettra d'obtenir ce que vous voulez (pas de défilement si l'élément est déjà visible).
Si vous voulez vraiment que TypeScript reconnaisse la propriété scrollIntoViewIfNeeded non standard, vous pouvez l'ajouter à l'interface HTMLElement (ou créer une nouvelle interface qui étend HTMLElement) :
// global.d.ts interface HTMLElement { scrollIntoViewIfNeeded?: any; }
ou : changer h3Title.value
转换为 any
type
(h3Title.value as any).scrollIntoViewIfNeeded()