File tree Expand file tree Collapse file tree
src/Component/BlazorComponent/Components/List Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1717 }
1818 else
1919 {
20+ @GenAvatarCore(PrependAvatar)
21+ @GenIcon(PrependIcon)
22+ @GenContent()
23+ @GenIcon(AppendIcon)
24+ @GenAvatarCore(AppendAvatar)
2025 @ChildContent
2126 }
2227 </Element >
2328</CascadingValue >
29+
30+ @code {
31+
32+ RenderFragment GenIcon (string ? icon ) => __builder =>
33+ {
34+ @if (! string .IsNullOrWhiteSpace (icon ))
35+ {
36+ < BListItemIcon >
37+ < BIcon > @icon < / BIcon >
38+ < / BListItemIcon >
39+ }
40+ };
41+
42+ private RenderFragment GenAvatarCore (string ? src ) => __builder =>
43+ {
44+ @if (! string .IsNullOrWhiteSpace (src ))
45+ {
46+ @GenAvatar (src )
47+ }
48+ };
49+
50+ protected virtual RenderFragment GenAvatar (string ? src ) => __builder => { };
51+
52+ RenderFragment GenContent () => __builder =>
53+ {
54+ if (HasBuiltInContent )
55+ {
56+ < BListItemContent >
57+ < BListItemTitle >
58+ @Title
59+ < / BListItemTitle >
60+ < BListItemSubtitle >
61+ @Subtitle
62+ < / BListItemSubtitle >
63+ < / BListItemContent >
64+ }
65+ };
66+
67+ }
Original file line number Diff line number Diff line change @@ -35,6 +35,18 @@ public BListItem() : base(GroupType.ListItemGroup)
3535 [ Parameter ]
3636 public bool OnClickPreventDefault { get ; set ; }
3737
38+ [ Parameter ] [ MasaApiParameter ( ReleasedOn = "v1.5.0" ) ] public string ? Title { get ; set ; }
39+
40+ [ Parameter ] [ MasaApiParameter ( ReleasedOn = "v1.5.0" ) ] public string ? Subtitle { get ; set ; }
41+
42+ [ Parameter ] [ MasaApiParameter ( ReleasedOn = "v1.5.0" ) ] public string ? PrependIcon { get ; set ; }
43+
44+ [ Parameter ] [ MasaApiParameter ( ReleasedOn = "v1.5.0" ) ] public string ? PrependAvatar { get ; set ; }
45+
46+ [ Parameter ] [ MasaApiParameter ( ReleasedOn = "v1.5.0" ) ] public string ? AppendIcon { get ; set ; }
47+
48+ [ Parameter ] [ MasaApiParameter ( ReleasedOn = "v1.5.0" ) ] public string ? AppendAvatar { get ; set ; }
49+
3850 [ Parameter ]
3951 public bool Dark { get ; set ; }
4052
@@ -68,6 +80,8 @@ public bool IsDark
6880
6981 protected override bool IsRoutable => Href != null && List ? . Routable is true ;
7082
83+ private bool HasBuiltInContent => ! string . IsNullOrWhiteSpace ( Title ) || ! string . IsNullOrWhiteSpace ( Subtitle ) ;
84+
7185 protected override void OnParametersSet ( )
7286 {
7387 base . OnParametersSet ( ) ;
You can’t perform that action at this time.
0 commit comments