修复错误TS2339 - 在'HTMLElement'上不存在属性的方法
P粉481815897
P粉481815897 2023-12-25 22:52:23
[Vue.js讨论组]

当我按下“下一步”按钮时,会触发下面的代码,执行所需的操作(如果需要,滚动到我的元素)。

但是出现此错误:错误TS2339:属性'scrollIntoViewIfNeeded'在类型'HTMLElement'.上不存在,我无法构建我的项目。

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

P粉481815897
P粉481815897

全部回复(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()
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号