Ошибка Ошибка: не удалось найти древовидный элемент управления для дерева отображается, поскольку заданный вами древовидный элемент управления пуст.
Как вы правильно указали, у вас может быть только одна реализация конструктора для каждого компонента. Что вы можете сделать, это объединить содержимое двух конструкторов из компонентов примера материала в один, например, так:
constructor(private database: LoadmoreDatabase) {
this.treeFlattener = new MatTreeFlattener(this.transformer, this.getLevel,
this.isExpandable, this.getChildren);
this.treeControl = new FlatTreeControl<LoadmoreFlatNode>(this.getLevel, this.isExpandable);
this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
database.dataChange.subscribe(data => {
this.dataSource.data = data;
});
database.initialize();
this.filteredFruits = this.fruitCtrl.valueChanges.pipe(
startWith(null),
map((fruit: string | null) => fruit ? this._filter(fruit) : this.allFruits.slice()));
}
Теперь управление деревом и все остальное, что необходимо для работы углового дерева материалов, настроено правильно.
Вот модифицированный Stackblitz с рабочим деревом.