diff --git a/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor b/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor index 11ded062a34..b82400444c2 100644 --- a/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor +++ b/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor @@ -12,7 +12,7 @@ data-bb-auto-dropdown-focus="@ShowDropdownListOnFocusString" data-bb-debounce="@DurationString" data-bb-skip-esc="@SkipEscString" data-bb-skip-enter="@SkipEnterString" data-bb-blur="@TriggerBlurString" data-bb-scroll-behavior="@ScrollIntoViewBehaviorString" data-bb-trigger-delete="true" - @bind="@CurrentValueAsString" + @bind="@CurrentValueAsString" @onblur="@OnBlur" placeholder="@PlaceHolder" disabled="@Disabled" @ref="FocusElement"/> diff --git a/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.cs b/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.cs index d9c327186e8..a5bf61d8f9d 100644 --- a/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.cs +++ b/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.cs @@ -139,7 +139,7 @@ private async Task OnClickItem(string val) /// /// [JSInvokable] - public override async Task TriggerFilter(string val) + public async Task TriggerFilter(string val) { if (OnCustomFilter != null) { diff --git a/src/BootstrapBlazor/Components/AutoComplete/PopoverCompleteBase.cs b/src/BootstrapBlazor/Components/AutoComplete/PopoverCompleteBase.cs index 392cb512550..264a7880665 100644 --- a/src/BootstrapBlazor/Components/AutoComplete/PopoverCompleteBase.cs +++ b/src/BootstrapBlazor/Components/AutoComplete/PopoverCompleteBase.cs @@ -158,26 +158,6 @@ protected override void OnParametersSet() Offset ??= "[0, 6]"; } - /// - /// 触发 OnBlur 回调方法 由 Javascript 触发 - /// - [JSInvokable] - public async Task TriggerBlur() - { - if (OnBlurAsync != null) - { - await OnBlurAsync(Value); - } - } - - /// - /// TriggerFilter 方法 - /// - /// - /// - [JSInvokable] - public virtual Task TriggerFilter(string val) => Task.CompletedTask; - /// /// /// diff --git a/src/BootstrapBlazor/Components/AutoFill/AutoFill.razor.cs b/src/BootstrapBlazor/Components/AutoFill/AutoFill.razor.cs index db790e9ef9f..c306690e49e 100644 --- a/src/BootstrapBlazor/Components/AutoFill/AutoFill.razor.cs +++ b/src/BootstrapBlazor/Components/AutoFill/AutoFill.razor.cs @@ -248,7 +248,7 @@ private async ValueTask> LoadItems(ItemsProviderRequ /// /// The value to filter by. [JSInvokable] - public override async Task TriggerFilter(string val) + public async Task TriggerFilter(string val) { if (OnQueryAsync != null) { diff --git a/src/BootstrapBlazor/Components/Search/Search.razor.cs b/src/BootstrapBlazor/Components/Search/Search.razor.cs index fdda496eb9b..e9fc22ba6ff 100644 --- a/src/BootstrapBlazor/Components/Search/Search.razor.cs +++ b/src/BootstrapBlazor/Components/Search/Search.razor.cs @@ -208,14 +208,6 @@ protected override void OnParametersSet() } } - private bool _render = true; - - /// - /// - /// - /// - protected override bool ShouldRender() => _render; - private string _displayText = ""; /// /// 点击搜索按钮时触发此方法 @@ -278,19 +270,17 @@ private async Task OnClickItem(TValue val) } /// - /// TriggerFilter 方法 + /// TriggerFilter method called by Javascript. /// /// [JSInvokable] - public override async Task TriggerFilter(string val) + public async Task TriggerFilter(string val) { - _render = false; _displayText = val; if (IsTriggerSearchByInput) { await OnSearchClick(); } - _render = true; _dropdown.Render(); } } diff --git a/test/UnitTest/Components/AutoCompleteTest.cs b/test/UnitTest/Components/AutoCompleteTest.cs index 911e8c1972a..ede96aca84c 100644 --- a/test/UnitTest/Components/AutoCompleteTest.cs +++ b/test/UnitTest/Components/AutoCompleteTest.cs @@ -265,9 +265,8 @@ public async Task OnBlurAsync_Ok() return Task.CompletedTask; }); }); - - // trigger blur - await cut.InvokeAsync(() => cut.Instance.TriggerBlur()); + var input = cut.Find(".form-control"); + await cut.InvokeAsync(() => input.Blur()); Assert.Equal("test1", val); } @@ -328,9 +327,9 @@ public void Trigger_Ok() class MockPopoverCompleteBase : PopoverCompleteBase { - public override Task TriggerFilter(string val) + public Task TriggerFilter(string val) { - return base.TriggerFilter(val); + return Task.CompletedTask; } } }