File tree Expand file tree Collapse file tree 3 files changed +12
-20
lines changed
src/BootstrapBlazor/Components Expand file tree Collapse file tree 3 files changed +12
-20
lines changed Original file line number Diff line number Diff line change 1616 placeholder =" @PlaceHolder" disabled =" @Disabled" @ref =" FocusElement" />
1717 <span class =" form-select-append" ><i class =" @Icon" ></i ></span >
1818 <span class =" form-select-append ac-loading" ><i class =" @LoadingIcon" ></i ></span >
19- <RenderTemplate ChildContent =" RenderItems" ></RenderTemplate >
19+ <BootstrapBlazorRender @ref =" _dropdown" >
20+ @RenderDropdown
21+ </BootstrapBlazorRender >
2022</div >
2123
2224@code {
Original file line number Diff line number Diff line change @@ -90,7 +90,7 @@ public partial class AutoComplete
9090 private List < string > ? _filterItems ;
9191
9292 [ NotNull ]
93- private AutoCompleteItems ? _dropdown = default ;
93+ private BootstrapBlazorRender ? _dropdown = default ;
9494
9595 /// <summary>
9696 /// <inheritdoc/>
@@ -187,15 +187,7 @@ public override Task TriggerChange(string val)
187187 StateHasChanged ( ) ;
188188 }
189189 _render = true ;
190- _dropdown . RenderContent ( ) ;
190+ _dropdown . Render ( ) ;
191191 return Task . CompletedTask ;
192192 }
193-
194- private RenderFragment RenderItems => builder =>
195- {
196- builder . OpenComponent < AutoCompleteItems > ( 0 ) ;
197- builder . AddAttribute ( 10 , "ChildContent" , RenderDropdown ) ;
198- builder . AddComponentReferenceCapture ( 20 , dropdown => _dropdown = ( AutoCompleteItems ) dropdown ) ;
199- builder . CloseComponent ( ) ;
200- } ;
201193}
Original file line number Diff line number Diff line change 88namespace BootstrapBlazor . Components ;
99
1010/// <summary>
11- /// AutoCompleteItems component
11+ /// BootstrapBlazorRender component
1212/// </summary>
13- class AutoCompleteItems : IComponent
13+ public class BootstrapBlazorRender : IComponent
1414{
1515 /// <summary>
1616 /// Gets or sets the child content
1717 /// </summary>
1818 [ Parameter , NotNull ]
1919 public RenderFragment ? ChildContent { get ; set ; }
2020
21+ private static readonly RenderFragment _emptyRenderFragment = _ => { } ;
22+
2123 private RenderHandle _renderHandle ;
2224
2325 /// <summary>
@@ -38,23 +40,19 @@ public Task SetParametersAsync(ParameterView parameters)
3840 {
3941 parameters . SetParameterProperties ( this ) ;
4042
41- RenderContent ( ) ;
43+ Render ( ) ;
4244 return Task . CompletedTask ;
4345 }
4446 /// <summary>
4547 /// Render method
4648 /// </summary>
47- public void RenderContent ( )
49+ public void Render ( )
4850 {
4951 _renderHandle . Render ( BuildRenderTree ) ;
5052 }
5153
52- /// <summary>
53- /// <inheritdoc/>
54- /// </summary>
55- /// <param name="builder"></param>
5654 private void BuildRenderTree ( RenderTreeBuilder builder )
5755 {
58- builder . AddContent ( 0 , ChildContent ) ;
56+ builder . AddContent ( 0 , ChildContent ?? _emptyRenderFragment ) ;
5957 }
6058}
You can’t perform that action at this time.
0 commit comments