From 7b6082d9e631897de0be8e8376d9b685c5e5f97f Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Thu, 2 Apr 2026 09:45:24 +0800 Subject: [PATCH] =?UTF-8?q?doc:=20=E4=BF=AE=E5=A4=8D=E7=A4=BA=E4=BE=8B?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E4=BD=BF=E7=94=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Samples/TreeViews.razor.cs | 47 +++++++++---------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/src/BootstrapBlazor.Server/Components/Samples/TreeViews.razor.cs b/src/BootstrapBlazor.Server/Components/Samples/TreeViews.razor.cs index 876e4365f36..32855a103d1 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/TreeViews.razor.cs +++ b/src/BootstrapBlazor.Server/Components/Samples/TreeViews.razor.cs @@ -35,6 +35,8 @@ public sealed partial class TreeViews private List> DraggableItems { get; set; } = []; + private List DraggableSourceItems { get; } = GetDraggableItems(); + private List> DisabledItems { get; } = GetDisabledItems(); private List>? AccordionItems { get; } = TreeFoo.GetAccordionItems(); @@ -43,7 +45,7 @@ public sealed partial class TreeViews private List> CheckedItems { get; set; } = GetCheckedItems(); - private static List> IconItems { get; set; } = TreeFoo.GetTreeItems(); + private List> IconItems { get; } = TreeFoo.GetTreeItems(); private List> ClickExpandItems { get; } = TreeFoo.GetTreeItems(); @@ -86,8 +88,7 @@ protected override void OnInitialized() { base.OnInitialized(); - var items = GetDraggableItems(); - DraggableItems = TreeFoo.CascadingTree(items); + DraggableItems = TreeFoo.CascadingTree(DraggableSourceItems); DraggableItems[0].IsExpand = true; if (DraggableItems.Count > 1) { @@ -109,11 +110,10 @@ private Task OnDragItemEndAsync(TreeViewDragContext context) { // 本例是使用静态数据模拟数据库操作的,实战中应该是更新节点的父级 Id 可能还需要更改排序字段等信息,然后重构 TreeView 数据源即可 // 根据 context 处理原始数据 - var items = GetDraggableItems(); - var source = items.Find(i => i.Id == context.Source.Value.Id); + var source = DraggableSourceItems.Find(i => i.Id == context.Source.Value.Id); if (source != null) { - var target = items.Find(i => i.Id == context.Target.Value.Id); + var target = DraggableSourceItems.Find(i => i.Id == context.Target.Value.Id); if (target != null) { source.ParentId = context.IsChildren ? target.Id : target.ParentId; @@ -132,7 +132,7 @@ private Task OnDragItemEndAsync(TreeViewDragContext context) } }; } - DraggableItems = TreeFoo.CascadingTree(items, cb); + DraggableItems = TreeFoo.CascadingTree(DraggableSourceItems, cb); DraggableItems[0].IsExpand = true; if (DraggableItems.Count > 1) { @@ -186,25 +186,20 @@ private Task OnTreeItemChecked(List> items) return Task.CompletedTask; } - private static List? _dragItems = null; - private static List GetDraggableItems() - { - _dragItems ??= - [ - new() { Text = "Item A", Id = "1", Icon = "fa-solid fa-font-awesome" }, - new() { Text = "Item D", Id = "4", ParentId = "1", Icon = "fa-solid fa-font-awesome" }, - new() { Text = "Item E", Id = "5", ParentId = "1", Icon = "fa-solid fa-font-awesome" }, - - new() { Text = "Item B", Id = "2", Icon = "fa-solid fa-font-awesome" }, - new() { Text = "Item F", Id = "6", ParentId = "2", Icon = "fa-solid fa-font-awesome" }, - new() { Text = "Item G", Id = "9", ParentId = "2", Icon = "fa-solid fa-font-awesome" }, - - new() { Text = "Item C", Id = "3", Icon = "fa-solid fa-font-awesome" }, - new() { Text = "Item H", Id = "7", ParentId = "3", Icon = "fa-solid fa-font-awesome" }, - new() { Text = "Item I", Id = "8", ParentId = "3", Icon = "fa-solid fa-font-awesome" } - ]; - return _dragItems; - } + private static List GetDraggableItems() => + [ + new() { Text = "Item A", Id = "1", Icon = "fa-solid fa-font-awesome" }, + new() { Text = "Item D", Id = "4", ParentId = "1", Icon = "fa-solid fa-font-awesome" }, + new() { Text = "Item E", Id = "5", ParentId = "1", Icon = "fa-solid fa-font-awesome" }, + + new() { Text = "Item B", Id = "2", Icon = "fa-solid fa-font-awesome" }, + new() { Text = "Item F", Id = "6", ParentId = "2", Icon = "fa-solid fa-font-awesome" }, + new() { Text = "Item G", Id = "9", ParentId = "2", Icon = "fa-solid fa-font-awesome" }, + + new() { Text = "Item C", Id = "3", Icon = "fa-solid fa-font-awesome" }, + new() { Text = "Item H", Id = "7", ParentId = "3", Icon = "fa-solid fa-font-awesome" }, + new() { Text = "Item I", Id = "8", ParentId = "3", Icon = "fa-solid fa-font-awesome" } + ]; private static List> GetDisabledItems() {