Веб-компоненты Lightning, обход DOM-модели Lightning-datatable / Lightning-tree-grid [дубликат]
С API мне удалось получить this.template.querySelector("lightning-tree-grid"), но попадание в любой внутренний элемент возвращает пустой прокси-объект. С помощью консоли браузера мне удается найти необходимые:
this.template.querySelector("lightning-tree-grid").shadowRoot.querySelector("lightning-datatable").shadowRoot.querySelector("[aria-level='2']")
Но не удалось достичь этого в коде. Является ли это возможным?
https://developer.salesforce.com/docs/component-library/bundle/lightning-datatable/documentation https://developer.salesforce.com/docs/component-library/bundle/lightning-tree-grid/documentation
Ответы
Вы не можете этого сделать из-за Locker Service :
Компонент может только проходить через DOM и получать доступ к элементам, созданным компонентом в том же пространстве имен. Такое поведение предотвращает проникновение анти-шаблона в элементы DOM, принадлежащие компонентам в другом пространстве имен.
Все стандартные компоненты Lightning находятся за пределами вашего пространства имен.