Komponen Web Lightning, DOM traversal Lightning-datatable / Lightning-tree-grid [duplikat]

Nov 30 2020

Dengan API yang berhasil saya dapatkan this.template.querySelector("lightning-tree-grid"), tetapi mendapatkan elemen dalam apa pun akan mengembalikan objek proxy yang kosong. Dengan konsol browser saya berhasil menemukan yang diperlukan:

this.template.querySelector("lightning-tree-grid").shadowRoot.querySelector("lightning-datatable").shadowRoot.querySelector("[aria-level='2']")

Namun, tidak dapat menjangkau kode itu. Apa itu mungkin?

https://developer.salesforce.com/docs/component-library/bundle/lightning-datatable/documentation https://developer.salesforce.com/docs/component-library/bundle/lightning-tree-grid/documentation

Jawaban

1 PhilW Nov 30 2020 at 16:18

Anda tidak dapat melakukan ini karena Layanan Locker :

Sebuah komponen hanya dapat melintasi DOM dan elemen akses yang dibuat oleh sebuah komponen dalam namespace yang sama. Perilaku ini mencegah anti-pola menjangkau elemen DOM yang dimiliki oleh komponen di namespace lain.

Semua komponen petir standar berada di luar namespace Anda.