修正錯誤TS2339 - 在'HTMLElement'上不存在屬性的方法
P粉481815897
P粉481815897 2023-12-25 22:52:23
0
1
635

當我按下「下一步」按鈕時,會觸發下面的程式碼,執行所需的操作(如果需要,捲動到我的元素)。

但出現此錯誤:錯誤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()
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板