Skip to content

Commit 6e64c22

Browse files
authored
refactor(AutoComplete): revert blur event callback (#5836)
* refactor: 移除 TriggerFilter 方法 * refactor: 精简代码 * refactor: 增加 OnBlur 支持 * test: 更新单元测试
1 parent a22b394 commit 6e64c22

File tree

6 files changed

+9
-40
lines changed

6 files changed

+9
-40
lines changed

src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
data-bb-auto-dropdown-focus="@ShowDropdownListOnFocusString" data-bb-debounce="@DurationString"
1313
data-bb-skip-esc="@SkipEscString" data-bb-skip-enter="@SkipEnterString" data-bb-blur="@TriggerBlurString"
1414
data-bb-scroll-behavior="@ScrollIntoViewBehaviorString" data-bb-trigger-delete="true"
15-
@bind="@CurrentValueAsString"
15+
@bind="@CurrentValueAsString" @onblur="@OnBlur"
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>

src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ private async Task OnClickItem(string val)
139139
/// </summary>
140140
/// <param name="val"></param>
141141
[JSInvokable]
142-
public override async Task TriggerFilter(string val)
142+
public async Task TriggerFilter(string val)
143143
{
144144
if (OnCustomFilter != null)
145145
{

src/BootstrapBlazor/Components/AutoComplete/PopoverCompleteBase.cs

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -158,26 +158,6 @@ protected override void OnParametersSet()
158158
Offset ??= "[0, 6]";
159159
}
160160

161-
/// <summary>
162-
/// 触发 OnBlur 回调方法 由 Javascript 触发
163-
/// </summary>
164-
[JSInvokable]
165-
public async Task TriggerBlur()
166-
{
167-
if (OnBlurAsync != null)
168-
{
169-
await OnBlurAsync(Value);
170-
}
171-
}
172-
173-
/// <summary>
174-
/// TriggerFilter 方法
175-
/// </summary>
176-
/// <param name="val"></param>
177-
/// <returns></returns>
178-
[JSInvokable]
179-
public virtual Task TriggerFilter(string val) => Task.CompletedTask;
180-
181161
/// <summary>
182162
/// <inheritdoc/>
183163
/// </summary>

src/BootstrapBlazor/Components/AutoFill/AutoFill.razor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ private async ValueTask<ItemsProviderResult<TValue>> LoadItems(ItemsProviderRequ
248248
/// </summary>
249249
/// <param name="val">The value to filter by.</param>
250250
[JSInvokable]
251-
public override async Task TriggerFilter(string val)
251+
public async Task TriggerFilter(string val)
252252
{
253253
if (OnQueryAsync != null)
254254
{

src/BootstrapBlazor/Components/Search/Search.razor.cs

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -208,14 +208,6 @@ protected override void OnParametersSet()
208208
}
209209
}
210210

211-
private bool _render = true;
212-
213-
/// <summary>
214-
/// <inheritdoc/>
215-
/// </summary>
216-
/// <returns></returns>
217-
protected override bool ShouldRender() => _render;
218-
219211
private string _displayText = "";
220212
/// <summary>
221213
/// 点击搜索按钮时触发此方法
@@ -278,19 +270,17 @@ private async Task OnClickItem(TValue val)
278270
}
279271

280272
/// <summary>
281-
/// TriggerFilter 方法
273+
/// TriggerFilter method called by Javascript.
282274
/// </summary>
283275
/// <param name="val"></param>
284276
[JSInvokable]
285-
public override async Task TriggerFilter(string val)
277+
public async Task TriggerFilter(string val)
286278
{
287-
_render = false;
288279
_displayText = val;
289280
if (IsTriggerSearchByInput)
290281
{
291282
await OnSearchClick();
292283
}
293-
_render = true;
294284
_dropdown.Render();
295285
}
296286
}

test/UnitTest/Components/AutoCompleteTest.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -265,9 +265,8 @@ public async Task OnBlurAsync_Ok()
265265
return Task.CompletedTask;
266266
});
267267
});
268-
269-
// trigger blur
270-
await cut.InvokeAsync(() => cut.Instance.TriggerBlur());
268+
var input = cut.Find(".form-control");
269+
await cut.InvokeAsync(() => input.Blur());
271270
Assert.Equal("test1", val);
272271
}
273272

@@ -328,9 +327,9 @@ public void Trigger_Ok()
328327

329328
class MockPopoverCompleteBase : PopoverCompleteBase<string>
330329
{
331-
public override Task TriggerFilter(string val)
330+
public Task TriggerFilter(string val)
332331
{
333-
return base.TriggerFilter(val);
332+
return Task.CompletedTask;
334333
}
335334
}
336335
}

0 commit comments

Comments
 (0)