Как динамически изменить дочерние элементы в расширении vs c - PullRequest
1 голос
/ 12 января 2020

Примеры кода для TreeDataProviders на github иногда показывают метод refre sh, но я не уверен, как его использовать. Должен ли я просто вызвать refre sh () и передать данные, которые будут использоваться getChildren (), и просто обновить свойство класса, которое использует getChildren?

1 Ответ

2 голосов
/ 13 января 2020

Функция refresh() обычно запускает четную onDidChangeTreeData, которую слушает базовый класс (TreeDataProvider). Затем он снова вызовет getChildren для повторного заполнения дерева. См. Также описание этого события:

/**
 * An optional event to signal that an element or root has changed.
 * This will trigger the view to update the changed element/root and its children recursively (if shown).
 * To signal that root has changed, do not pass any argument or pass `undefined` or `null`.
 */
onDidChangeTreeData?: Event<T | undefined | null>;

Вы можете создать функцию refre sh по своему усмотрению, например, передать новые данные или сохранить ссылку на поставщика данных applicationm в поставщике дерева. (например, передается ему в c -тор). До вас.

...