Skip to content

Commit 8a8fa15

Browse files
authored
perf(MultiSelect): reduce one rendering and improve performance (#2811)
* perf: 更新 MultiSelect 组件减少一次计算 * chore: bump version 8.1.7-beta05
1 parent 7c16c5d commit 8a8fa15

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

src/BootstrapBlazor/BootstrapBlazor.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.Razor">
22

33
<PropertyGroup>
4-
<Version>8.1.7-beta04</Version>
4+
<Version>8.1.7-beta05</Version>
55
</PropertyGroup>
66

77
<ItemGroup Condition="'$(TargetFramework)' == 'net5.0'">

src/BootstrapBlazor/Components/Select/MultiSelect.razor

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@
4343
<div class="toolbar">
4444
@if (ShowDefaultButtons)
4545
{
46-
<button class="btn" type="button" @onclick="@SelectAll">@SelectAllText</button>
47-
<button class="btn" type="button" @onclick="@InvertSelect">@ReverseSelectText</button>
48-
<button class="btn" type="button" @onclick="@Clear">@ClearText</button>
46+
<DynamicElement TagName="button" type="button" class="btn" OnClick="SelectAll">@SelectAllText</DynamicElement>
47+
<DynamicElement TagName="button" type="button" class="btn" OnClick="InvertSelect">@ReverseSelectText</DynamicElement>
48+
<DynamicElement TagName="button" type="button" class="btn" OnClick="Clear">@ClearText</DynamicElement>
4949
}
5050
@ButtonTemplate
5151
</div>

src/BootstrapBlazor/Components/Select/MultiSelect.razor.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,6 @@ public async Task ToggleRow(string val)
211211

212212
// 更新选中值
213213
await SetValue();
214-
StateHasChanged();
215214
}
216215
}
217216

@@ -282,6 +281,11 @@ private async Task SetValue()
282281
}
283282

284283
PreviousValue = CurrentValueAsString;
284+
285+
if (!ValueChanged.HasDelegate)
286+
{
287+
StateHasChanged();
288+
}
285289
}
286290

287291
private async Task Clear()

0 commit comments

Comments
 (0)