From 9022b718efe8bbe8c9aad1888f68ed023fe2e0cb Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Fri, 20 Sep 2024 16:06:14 +0800 Subject: [PATCH] feat(Checkbox): auto set DisplayText when set ShowAfterLabel to true (#4334) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat(Checkbox): support ShowAfterLabel * test: 增加单元测试 * test: 更新单元测试 * chore: bump version 8.9.3 --- src/BootstrapBlazor/BootstrapBlazor.csproj | 2 +- .../Components/Checkbox/Checkbox.razor.cs | 1 + test/UnitTest/Components/CheckboxListTest.cs | 13 ++++++++++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index 7ccbacae67a..68ceb9e3c76 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,7 +1,7 @@ - 8.9.3-beta02 + 8.9.3 diff --git a/src/BootstrapBlazor/Components/Checkbox/Checkbox.razor.cs b/src/BootstrapBlazor/Components/Checkbox/Checkbox.razor.cs index 1fe263a1f71..2b403afe28d 100644 --- a/src/BootstrapBlazor/Components/Checkbox/Checkbox.razor.cs +++ b/src/BootstrapBlazor/Components/Checkbox/Checkbox.razor.cs @@ -118,6 +118,7 @@ protected override void OnParametersSet() if (ShowAfterLabel) { + DisplayText ??= FieldIdentifier?.GetDisplayName(); ShowLabel = false; } diff --git a/test/UnitTest/Components/CheckboxListTest.cs b/test/UnitTest/Components/CheckboxListTest.cs index ed503978fd1..ef256504cb6 100644 --- a/test/UnitTest/Components/CheckboxListTest.cs +++ b/test/UnitTest/Components/CheckboxListTest.cs @@ -32,14 +32,13 @@ public void ShowAfterLabel_Ok() var cut = Context.RenderComponent>(builder => { builder.Add(a => a.ShowAfterLabel, true); - builder.Add(a => a.DisplayText, "Test"); }); - var label = cut.Find("label"); - label.MarkupMatches(""); + cut.MarkupMatches("
"); cut.SetParametersAndRender(pb => { pb.Add(a => a.ShowLabelTooltip, true); + pb.Add(a => a.DisplayText, "Test"); }); var span = cut.Find("span"); @@ -116,9 +115,17 @@ public void EditorForm_Ok() pb.Add(a => a.Value, foo.Hobby); pb.Add(a => a.ValueExpression, foo.GenerateValueExpression(nameof(foo.Hobby), typeof(IEnumerable))); }); + builder.AddChildContent>(pb => + { + pb.Add(a => a.ShowLabel, false); + pb.Add(a => a.ShowAfterLabel, true); + pb.Add(a => a.Value, foo.Complete); + pb.Add(a => a.ValueExpression, foo.GenerateValueExpression(nameof(foo.Complete), typeof(bool))); + }); }); // 断言生成 CheckboxList Assert.Contains("form-check is-label", cut.Markup); + cut.Contains("是/否"); // 提交表单触发客户端验证 var form = cut.Find("form");