从通过外部API接收的JSON数据填充MudTreeView



感谢您花时间阅读我的问题。我是《Blazor》和《MudBlazor》的新手。我有一个当前的需求,需要一个树视图菜单。

对外部API的多次调用返回JSON数据。第一个调用返回Hub—这是树菜单的根。第二个调用返回中心内的Projects。第三个调用返回项目中的Folders。

有人可以在这里指出我在正确的方向,我如何使用MudTreeView组件来构建这个菜单?这个菜单将位于它自己的组件中,不会与现有的NavMenu混淆。

你需要一个类来描述你的TreeView的每个节点。我已经为另一个TreeView创建了一个,使用另一个库,但逻辑是相同的。

public class TreeItemModel
{
public int Id { get; set; }
public string Text { get; set; } = string.Empty;
public int? ParentIdValue { get; set; }
public bool HasChildren { get; set; }
public string Icon { get; set; } = string.Empty; //maybe useless for you
public TypeOfItemEnum TypeOfItem { get; set; }
public Guid? RelatifId { get; set; } //maybe useless for you
}

这里,TypeOfItemEnum帮助我知道结果来自哪个API(如果它是一个"文件",一个"文件夹")。或者一个"项目";如你所说)。

然后将第一个API的每个结果转换为这个TreeItemModel的集合。然后将第二次调用API的结果(转换为TreeItemMode的集合)附加到该列表中,然后是第三次结果等。

最新更新