From e4391009371e92a798a2080d7646c652def7ab28 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Thu, 28 May 2026 16:18:58 -0400 Subject: [PATCH] fix(adminui): DriverBrowseTree uses local field, not parameter mutation --- .../Components/Shared/Drivers/DriverBrowseTree.razor | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Shared/Drivers/DriverBrowseTree.razor b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Shared/Drivers/DriverBrowseTree.razor index 214fda1c..9011facb 100644 --- a/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Shared/Drivers/DriverBrowseTree.razor +++ b/src/Server/ZB.MOM.WW.OtOpcUa.AdminUI/Components/Shared/Drivers/DriverBrowseTree.razor @@ -37,6 +37,12 @@ private bool _loading = true; private string? _error; private List? _roots; + private string _selectedNodeIdLocal = ""; + + protected override void OnParametersSet() + { + _selectedNodeIdLocal = SelectedNodeId ?? ""; + } protected override async Task OnInitializedAsync() { @@ -76,14 +82,14 @@ private async Task SelectAsync(TreeItem item) { - SelectedNodeId = item.Node.NodeId; + _selectedNodeIdLocal = item.Node.NodeId; await OnNodeSelected.InvokeAsync(item.Node); } private RenderFragment RenderNode(TreeItem item, int depth) => __builder => { var indent = $"padding-left:{depth * 18}px"; - var selectedCls = SelectedNodeId == item.Node.NodeId ? "bg-primary-subtle" : ""; + var selectedCls = _selectedNodeIdLocal == item.Node.NodeId ? "bg-primary-subtle" : "";
@if (item.Node.Kind == BrowseNodeKind.Folder && item.Node.HasChildrenHint) {