File tree Expand file tree Collapse file tree 8 files changed +35
-4
lines changed Expand file tree Collapse file tree 8 files changed +35
-4
lines changed Original file line number Diff line number Diff line change 1
1
<Project Sdk =" Microsoft.NET.Sdk.Razor" >
2
2
3
3
<PropertyGroup >
4
- <Version >9.7.4-beta04 </Version >
4
+ <Version >9.7.4-beta05 </Version >
5
5
</PropertyGroup >
6
6
7
7
<ItemGroup >
Original file line number Diff line number Diff line change @@ -286,6 +286,7 @@ protected override async Task OnClearValue()
286
286
await base . OnClearValue ( ) ;
287
287
288
288
SelectedItems . Clear ( ) ;
289
+ await SetValue ( ) ;
289
290
}
290
291
291
292
/// <summary>
@@ -459,7 +460,7 @@ private async Task SetValue()
459
460
460
461
if ( OnSelectedItemsChanged != null )
461
462
{
462
- await OnSelectedItemsChanged . Invoke ( SelectedItems ) ;
463
+ await OnSelectedItemsChanged ( SelectedItems ) ;
463
464
}
464
465
465
466
_lastSelectedValueString = CurrentValueAsString ;
Original file line number Diff line number Diff line change @@ -406,7 +406,10 @@ protected override async Task OnClearValue()
406
406
await base . OnClearValue ( ) ;
407
407
408
408
SelectedItem = null ;
409
- _lastSelectedValueString = "" ;
409
+ if ( OnSelectedItemChanged != null )
410
+ {
411
+ await OnSelectedItemChanged ( new SelectedItem ( "" , "" ) ) ;
412
+ }
410
413
}
411
414
412
415
private string ? ReadonlyString => IsEditable ? null : "readonly" ;
Original file line number Diff line number Diff line change @@ -328,6 +328,7 @@ protected override async Task OnClearValue()
328
328
await base . OnClearValue ( ) ;
329
329
330
330
SelectedItems . Clear ( ) ;
331
+ await SetValue ( ) ;
331
332
}
332
333
333
334
private bool _isToggle ;
@@ -435,7 +436,7 @@ private async Task SetValue()
435
436
436
437
if ( OnSelectedItemsChanged != null )
437
438
{
438
- await OnSelectedItemsChanged . Invoke ( SelectedItems ) ;
439
+ await OnSelectedItemsChanged ( SelectedItems ) ;
439
440
}
440
441
441
442
CurrentValue = [ .. SelectedItems . Select ( i => i . Value ) ] ;
Original file line number Diff line number Diff line change @@ -474,6 +474,10 @@ protected override async Task OnClearValue()
474
474
await VirtualizeElement . RefreshDataAsync ( ) ;
475
475
}
476
476
SelectedItem = new SelectedItem < TValue > ( default ! , "" ) ;
477
+ if ( OnSelectedItemChanged != null )
478
+ {
479
+ await OnSelectedItemChanged ( SelectedItem ) ;
480
+ }
477
481
}
478
482
479
483
private string ? ReadonlyString => IsEditable ? null : "readonly" ;
Original file line number Diff line number Diff line change @@ -690,6 +690,7 @@ public void DefaultVirtualizeItemText_Ok()
690
690
[ Fact ]
691
691
public async Task IsVirtualize_Items_Clearable_Ok ( )
692
692
{
693
+ IEnumerable < SelectedItem > ? selectedItems = null ;
693
694
var cut = Context . RenderComponent < MultiSelect < string > > ( pb =>
694
695
{
695
696
pb . Add ( a => a . Items , new SelectedItem [ ]
@@ -703,6 +704,11 @@ public async Task IsVirtualize_Items_Clearable_Ok()
703
704
pb . Add ( a => a . OverscanCount , 4 ) ;
704
705
pb . Add ( a => a . IsClearable , true ) ;
705
706
pb . Add ( a => a . ShowSearch , true ) ;
707
+ pb . Add ( a => a . OnSelectedItemsChanged , items =>
708
+ {
709
+ selectedItems = items ;
710
+ return Task . CompletedTask ;
711
+ } ) ;
706
712
} ) ;
707
713
708
714
// 覆盖有搜索条件时,点击清空按钮
@@ -718,6 +724,8 @@ public async Task IsVirtualize_Items_Clearable_Ok()
718
724
// 点击 Clear 按钮
719
725
var button = cut . Find ( ".clear-icon" ) ;
720
726
await cut . InvokeAsync ( ( ) => button . Click ( ) ) ;
727
+ Assert . NotNull ( selectedItems ) ;
728
+ Assert . Empty ( selectedItems ) ;
721
729
722
730
// 下拉框显示所有选项
723
731
items = cut . FindAll ( ".dropdown-item" ) ;
Original file line number Diff line number Diff line change @@ -132,9 +132,15 @@ public void Disabled_Ok()
132
132
public void IsClearable_Ok ( )
133
133
{
134
134
var val = "Test2" ;
135
+ string ? selectedValue = "Test2" ;
135
136
var cut = Context . RenderComponent < SelectGeneric < string > > ( pb =>
136
137
{
137
138
pb . Add ( a => a . IsClearable , true ) ;
139
+ pb . Add ( a => a . OnSelectedItemChanged , item =>
140
+ {
141
+ selectedValue = item . Value ;
142
+ return Task . CompletedTask ;
143
+ } ) ;
138
144
pb . Add ( a => a . Items , new List < SelectedItem < string > > ( )
139
145
{
140
146
new ( "" , "请选择" ) ,
@@ -151,6 +157,7 @@ public void IsClearable_Ok()
151
157
var clearButton = cut . Find ( ".clear-icon" ) ;
152
158
cut . InvokeAsync ( ( ) => clearButton . Click ( ) ) ;
153
159
Assert . Null ( val ) ;
160
+ Assert . Null ( selectedValue ) ;
154
161
155
162
// 提高代码覆盖率
156
163
var select = cut ;
Original file line number Diff line number Diff line change @@ -135,10 +135,16 @@ public void Select_Lookup()
135
135
[ Fact ]
136
136
public async Task IsClearable_Ok ( )
137
137
{
138
+ var selectedValue = "Test2" ;
138
139
var val = "Test2" ;
139
140
var cut = Context . RenderComponent < Select < string > > ( pb =>
140
141
{
141
142
pb . Add ( a => a . IsClearable , true ) ;
143
+ pb . Add ( a => a . OnSelectedItemChanged , item =>
144
+ {
145
+ selectedValue = item . Value ;
146
+ return Task . CompletedTask ;
147
+ } ) ;
142
148
pb . Add ( a => a . Items , new List < SelectedItem > ( )
143
149
{
144
150
new ( "" , "请选择" ) ,
@@ -155,6 +161,7 @@ public async Task IsClearable_Ok()
155
161
var clearButton = cut . Find ( ".clear-icon" ) ;
156
162
await cut . InvokeAsync ( ( ) => clearButton . Click ( ) ) ;
157
163
Assert . Null ( val ) ;
164
+ Assert . Equal ( "" , selectedValue ) ;
158
165
159
166
// 提高代码覆盖率
160
167
var select = cut ;
You can’t perform that action at this time.
0 commit comments