Rumah  >  Soal Jawab  >  teks badan

Betulkan pepijat TS2339 - Kaedah sifat tidak wujud pada 'HTMLElement'

Apabila saya menekan butang "Seterusnya", kod di bawah dicetuskan, melakukan tindakan yang diperlukan (menatal ke elemen saya jika perlu).

Tetapi saya mendapat ralat ini: Tidak wujud pada 错误TS2339:属性'scrollIntoViewIfNeeded'在类型'HTMLElement'. dan saya tidak boleh membina projek saya.

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

P粉481815897P粉481815897298 hari yang lalu605

membalas semua(1)saya akan balas

  • P粉958986070

    P粉9589860702023-12-26 10:50:15

    Saya rasa h3Title.value.scrollIntoView({block: "nearest"}) menggunakan sifat scrollIntoView standard akan mencapai apa yang anda mahukan (tiada menatal jika elemen sudah dilihat).

    Jika anda benar-benar mahu skrip taip mengenali sifat tatal tidak standardIntoViewIfNeeded, anda boleh menambahkannya pada antara muka HTMLElement (atau buat antara muka baharu yang memanjangkan HTMLElement):

    // global.d.ts
    interface HTMLElement {
      scrollIntoViewIfNeeded?: any;
    }
    

    atau: tukar h3Title.value 转换为 any taip

    (h3Title.value as any).scrollIntoViewIfNeeded()
    

    balas
    0
  • Batalbalas