fix(adminui): DriverBrowseTree uses local field, not parameter mutation
This commit is contained in:
+8
-2
@@ -37,6 +37,12 @@
|
|||||||
private bool _loading = true;
|
private bool _loading = true;
|
||||||
private string? _error;
|
private string? _error;
|
||||||
private List<TreeItem>? _roots;
|
private List<TreeItem>? _roots;
|
||||||
|
private string _selectedNodeIdLocal = "";
|
||||||
|
|
||||||
|
protected override void OnParametersSet()
|
||||||
|
{
|
||||||
|
_selectedNodeIdLocal = SelectedNodeId ?? "";
|
||||||
|
}
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
@@ -76,14 +82,14 @@
|
|||||||
|
|
||||||
private async Task SelectAsync(TreeItem item)
|
private async Task SelectAsync(TreeItem item)
|
||||||
{
|
{
|
||||||
SelectedNodeId = item.Node.NodeId;
|
_selectedNodeIdLocal = item.Node.NodeId;
|
||||||
await OnNodeSelected.InvokeAsync(item.Node);
|
await OnNodeSelected.InvokeAsync(item.Node);
|
||||||
}
|
}
|
||||||
|
|
||||||
private RenderFragment RenderNode(TreeItem item, int depth) => __builder =>
|
private RenderFragment RenderNode(TreeItem item, int depth) => __builder =>
|
||||||
{
|
{
|
||||||
var indent = $"padding-left:{depth * 18}px";
|
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" : "";
|
||||||
<div class="d-flex align-items-center gap-1 py-1 @selectedCls" style="@indent">
|
<div class="d-flex align-items-center gap-1 py-1 @selectedCls" style="@indent">
|
||||||
@if (item.Node.Kind == BrowseNodeKind.Folder && item.Node.HasChildrenHint)
|
@if (item.Node.Kind == BrowseNodeKind.Folder && item.Node.HasChildrenHint)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user