Я пытаюсь улучшить сообщения об ошибках от виджета, который пишу.
, если происходит ошибка, я хочу иметь возможность выгрузить дерево виджетов, чтобы показать пользователю предки моего виджета.
Для этого мне нужно отобразить дерево виджетов из моего виджета обратно вверх по дереву в направлении root.
Единственный способ получить родительский виджет - это через вызов:
findAncestorWidgetOfExactType
Конечно, проблема в том, что я не знаю тип родительского элемента, поэтому этот метод не будет работать.
Существуют ли какие-либо методы, которые позволит мне отобразить дерево из моего виджета обратно к root дерева?
В дереве элементов есть метод, который позволяет это, но я не знаю, как получить доступ к сгенерированному элементу:
List<Element> debugGetDiagnosticChain() {
final List<Element> chain = <Element>[this];
Element node = _parent;
while (node != null) {
chain.add(node);
node = node._parent;
}
return chain;
}