.DisableCanExpand),
+ Description = "Whether to expand when the control node is disabled",
+ Type = "bool",
+ ValueList = "true|false",
+ DefaultValue = "false"
}
];
diff --git a/src/BootstrapBlazor.Server/Locales/en-US.json b/src/BootstrapBlazor.Server/Locales/en-US.json
index b01391bfa7a7bbe4c3abcbe94c382ee7d713b9de..9fd2b7da77599bdb6c041ff2c5df2f5f9357a249 100644
--- a/src/BootstrapBlazor.Server/Locales/en-US.json
+++ b/src/BootstrapBlazor.Server/Locales/en-US.json
@@ -663,7 +663,9 @@
"TreeViewSetActiveTitle": "Set Active Node",
"TreeViewSetActiveIntro": "Set the currently active node by calling the SetActiveItem method",
"TreeViewSetActiveDisplayText": "Current Active Node",
- "TreeViewsAttribute": "TreeItem property"
+ "TreeViewsAttribute": "TreeItem property",
+ "TreeViewsDisableWholeTreeView": "Whole TreeView disable",
+ "TreeViewsWhetherToExpandWhenDisable": "Whether to expand when the control node is disabled"
},
"BootstrapBlazor.Server.Components.Samples.Trees": {
"TreeIntro": "Obsolete,The TreeView provides more functions",
diff --git a/src/BootstrapBlazor.Server/Locales/zh-CN.json b/src/BootstrapBlazor.Server/Locales/zh-CN.json
index 786e3f09e9beb76fb8bc10737299c5156c62da2c..12aef4b60e8357e504613c80072ce51db887d836 100644
--- a/src/BootstrapBlazor.Server/Locales/zh-CN.json
+++ b/src/BootstrapBlazor.Server/Locales/zh-CN.json
@@ -663,7 +663,9 @@
"TreeViewSetActiveTitle": "设置激活节点",
"TreeViewSetActiveIntro": "通过调用 SetActiveItem 方法设置当前激活节点",
"TreeViewSetActiveDisplayText": "当前激活节点",
- "TreeViewsAttribute": "TreeItem 属性"
+ "TreeViewsAttribute": "TreeItem 属性",
+ "TreeViewsDisableWholeTreeView": "是否禁用整个TreeView",
+ "TreeViewsWhetherToExpandWhenDisable": "禁用时候是否可以展开或折叠子节点"
},
"BootstrapBlazor.Server.Components.Samples.Trees": {
"TreeIntro": "
本组件已弃用,请使用新组件 TreeView 提供更多功能",
diff --git a/src/BootstrapBlazor/Components/TreeView/TreeView.razor b/src/BootstrapBlazor/Components/TreeView/TreeView.razor
index d4538b4f22f2818474a207def4794de0dc7106db..0a46dab98867da9899f06911a27ab425e65f166b 100644
--- a/src/BootstrapBlazor/Components/TreeView/TreeView.razor
+++ b/src/BootstrapBlazor/Components/TreeView/TreeView.razor
@@ -43,7 +43,7 @@ else
@if (ShowCheckbox)
{
-
}
diff --git a/src/BootstrapBlazor/Components/TreeView/TreeView.razor.cs b/src/BootstrapBlazor/Components/TreeView/TreeView.razor.cs
index d6c946bd01d106f25f6396266e72cdc2af708737..7659866c4df1bb1e8481263e5595a085392de0a0 100644
--- a/src/BootstrapBlazor/Components/TreeView/TreeView.razor.cs
+++ b/src/BootstrapBlazor/Components/TreeView/TreeView.razor.cs
@@ -34,7 +34,7 @@ public partial class TreeView : IModelEqualityComparer
///
///
///
- private static string? GetIconClassString(TreeViewItem item) => CssBuilder.Default("tree-icon")
+ private string? GetIconClassString(TreeViewItem item) => CssBuilder.Default("tree-icon")
.AddClass(item.Icon)
.AddClass(item.ExpandIcon, item.IsExpand && !string.IsNullOrEmpty(item.ExpandIcon))
.Build();
@@ -57,7 +57,7 @@ public partial class TreeView : IModelEqualityComparer
///
private string? GetItemClassString(TreeViewItem item) => CssBuilder.Default("tree-item")
.AddClass("active", ActiveItem == item)
- .AddClass("disabled", item.IsDisabled)
+ .AddClass("disabled", !DisableCanExpand && (IsDisabled || item.IsDisabled))
.Build();
///
@@ -65,23 +65,35 @@ public partial class TreeView : IModelEqualityComparer
///
///
///
- private static string? GetTreeClassString(TreeViewItem item) => CssBuilder.Default("tree-ul")
+ private string? GetTreeClassString(TreeViewItem item) => CssBuilder.Default("tree-ul")
.AddClass("show", item.IsExpand)
.Build();
- private static string? GetNodeClassString(TreeViewItem item) => CssBuilder.Default("tree-node")
- .AddClass("disabled", item.IsDisabled)
+ private string? GetNodeClassString(TreeViewItem item) => CssBuilder.Default("tree-node")
+ .AddClass("disabled", !DisableCanExpand && (IsDisabled || item.IsDisabled))
.Build();
- private static bool TriggerNodeArrow(TreeViewItem item) => !item.IsDisabled && (item.HasChildren || item.Items.Any());
+ private bool TriggerNodeArrow(TreeViewItem item) => (DisableCanExpand || !(IsDisabled || item.IsDisabled)) && (item.HasChildren || item.Items.Any());
- private static bool TriggerNodeLabel(TreeViewItem item) => !item.IsDisabled;
+ private bool TriggerNodeLabel(TreeViewItem item) => !(IsDisabled || item.IsDisabled);
///
/// 获得/设置 选中节点 默认 null
///
private TreeViewItem? ActiveItem { get; set; }
+ ///
+ /// 是否整个TreeView禁用 默认 false
+ ///
+ [Parameter]
+ public bool IsDisabled { get; set; } = false;
+
+ ///
+ /// 当Disable时候是否允许展开折叠节点 默认 false
+ ///
+ [Parameter]
+ public bool DisableCanExpand { get; set; } = false;
+
///
/// 获得/设置 是否为手风琴效果 默认为 false
///