This issue can be reproduced with the following code:
Razor<DxTreeView Data="@model"
TextExpression="@(dataItem => ((TestModel)dataItem).Text)" NavigateUrlExpression="@(dataItem => ((TestModel)dataItem).Url)"
ChildrenExpression="@(dataItem => ((TestModel)dataItem).ChildNodes)">
</DxTreeView>
@code {
List<TestModel> model = new List<TestModel>();
protected override void OnInitialized() {
List<TestModel> child1 = new List<TestModel>();
child1.Add(new TestModel() { ID = 1, Text = "Test1Child1", Url = "/Test1Child1" });
child1.Add(new TestModel() { ID = 2, Text = "Test1Child2", Url = "/Test1Child2" });
model.Add(new TestModel() { ID = 0, Text = "Test1", Url = "/Test1", ChildNodes = child1 });
List<TestModel> child2 = new List<TestModel>();
child2.Add(new TestModel() { ID = 4, Text = "Test2Child1", Url = "/Test2Child1" });
child2.Add(new TestModel() { ID = 5, Text = "Test2Child2", Url = "/Test2Child2" });
model.Add(new TestModel() { ID = 3, Text = "Test2", Url = "/Test2", ChildNodes = child2 });
}
}
If the "Test1" parent node is clicked, it's expanded but at the same time the current page is changed.
Workaround:
Use TreeView templates to prevent navigation as demonstrated in the TreeView for Blazor - Allow to expand/collapse a parent node without navigating if you click on the caret ticket.