javascript - Hapus elemen canvas saat diklik dengan typescript


Saya baru menggunakan TypeScript dan yang sedang saya coba adalah, menghapus elemen canvas dari div. Jadi ini kode HTML saya.

<div class="chart">
    <canvas id="nav-chart"></canvas>
</div>

saat diklik menghapus elemen canvas menggunakan id nav-chart. Jadi ini kode JS saya di dalam fungsi onclick

const elem: HTMLElement = document.getElementById('nav-chart')
if (elem) {
   elem.parentElement.removeChild(elem)
}

Saat mencoba ini, muncul kesalahan yang mengatakan pada baris
const elem: HTMLElement=document.getElementById('nav-chart')

TS2322: Type 'HTMLElement | null' is not assignable to type 'HTMLElement'.
  Type 'null' is not assignable to type 'HTMLElement'.

dan di baris ini elem.parentElement.removeChild(elem)

TS2531: Object is possibly 'null'.

Jawaban #1

Saya menemukan solusinya, pertama kita harus mendeklarasikan tipe elemen dengan HTMLElement | null

const elem: HTMLElement | null = document.getElementById('nav-chart')

dan di dalam kondisi itu.

if (elem) {
      elem.parentElement && elem.parentElement.removeChild(elem)
}