diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index 78417ff06e1..3173192f198 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,7 +1,7 @@  - 10.7.2 + 10.7.3-beta01 diff --git a/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.cs b/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.cs index 8b4d1e4c442..14915742646 100644 --- a/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.cs +++ b/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.cs @@ -237,6 +237,11 @@ public async Task TriggerClear() [JSInvokable] public async Task TriggerFilter(string val) { + if (SkipMatch) + { + return; + } + if (OnCustomFilter != null) { var items = await OnCustomFilter(val); diff --git a/test/UnitTest/Components/AutoCompleteTest.cs b/test/UnitTest/Components/AutoCompleteTest.cs index fd38893bba3..2c5c953183a 100644 --- a/test/UnitTest/Components/AutoCompleteTest.cs +++ b/test/UnitTest/Components/AutoCompleteTest.cs @@ -23,6 +23,23 @@ public void SkipMatch_Ok() Assert.Equal(4, items.Count); } + [Fact] + public async Task SkipMatch_AfterSelect_Ok() + { + var cut = Context.Render(pb => + { + pb.Add(a => a.SkipMatch, true); + pb.Add(a => a.Items, new List() { "test1", "test12", "test123", "test1234" }); + }); + + // 选中候选项 test123 后 TriggerFilter 不应过滤候选项 + // 否则再次输入时 SkipMatch 失效 候选项被锁定为上次选中值的过滤子集 + await cut.InvokeAsync(() => cut.FindAll(".dropdown-item")[2].Click()); + + var items = cut.FindAll(".dropdown-item"); + Assert.Equal(4, items.Count); + } + [Fact] public void Items_Ok() {