@@ -20,7 +20,6 @@ public partial class Collapse
20
20
. Build ( ) ;
21
21
22
22
private static string ? GetHeaderClassString ( CollapseItem item ) => CssBuilder . Default ( "accordion-header" )
23
- . AddClass ( "collapsed" , item . IsCollapsed )
24
23
. AddClass ( $ "bg-{ item . TitleColor . ToDescriptionString ( ) } ", item . TitleColor != Color . None )
25
24
. AddClass ( item . HeaderClass )
26
25
. Build ( ) ;
@@ -47,7 +46,7 @@ public partial class Collapse
47
46
/// <summary>
48
47
/// 获得/设置 CollapseItem 集合
49
48
/// </summary>
50
- protected List < CollapseItem > Children { get ; } = new ( 10 ) ;
49
+ protected List < CollapseItem > Items { get ; } = new ( 10 ) ;
51
50
52
51
/// <summary>
53
52
/// 获得/设置 是否为手风琴效果 默认为 false
@@ -69,6 +68,14 @@ public partial class Collapse
69
68
70
69
private async Task OnClickItem ( CollapseItem item )
71
70
{
71
+ if ( IsAccordion && item . IsCollapsed )
72
+ {
73
+ // 手风琴模式,设置其他项收起
74
+ foreach ( var i in Items . Where ( i => i != item && ! i . IsCollapsed ) )
75
+ {
76
+ i . SetCollapsed ( true ) ;
77
+ }
78
+ }
72
79
item . SetCollapsed ( ! item . IsCollapsed ) ;
73
80
if ( OnCollapseChanged != null )
74
81
{
@@ -80,11 +87,11 @@ private async Task OnClickItem(CollapseItem item)
80
87
/// 添加 CollapseItem 方法 由 CollapseItem 方法加载时调用
81
88
/// </summary>
82
89
/// <param name="item">TabItemBase 实例</param>
83
- internal void AddItem ( CollapseItem item ) => Children . Add ( item ) ;
90
+ internal void AddItem ( CollapseItem item ) => Items . Add ( item ) ;
84
91
85
92
/// <summary>
86
93
/// 移除 CollapseItem 方法 由 CollapseItem 方法 Dispose 时调用
87
94
/// </summary>
88
95
/// <param name="item">TabItemBase 实例</param>
89
- internal void RemoveItem ( CollapseItem item ) => Children . Remove ( item ) ;
96
+ internal void RemoveItem ( CollapseItem item ) => Items . Remove ( item ) ;
90
97
}
0 commit comments