protected override async Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { await Load(); if (CheckedKeys.Count() > 0) { tree.ChildNodes.ForEach(node => EnumChildren(node)); } StateHasChanged(); tree.ExpandAll(); } }
public void EnumChildren(TreeNode <TModel> treeNode) { if (treeNode.ChildNodes.Count > 0) { treeNode.ChildNodes.ForEach(child => EnumChildren(child)); } else { var dataItemId = (int)treeNode.DataItem.GetType().GetProperty("Id").GetValue(treeNode.DataItem); if (CheckedKeys.Contains(dataItemId)) { Console.WriteLine("find checked key:" + dataItemId); treeNode.SetChecked(true); treeNode.Checked = true; tree.CheckedNodes.Add(treeNode); } else { } } }