diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index f9048262518..0ea624384ea 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,7 +1,7 @@  - 9.5.0-beta04 + 9.5.0-beta05 diff --git a/src/BootstrapBlazor/Components/Select/MultiSelect.razor b/src/BootstrapBlazor/Components/Select/MultiSelect.razor index 4777bdd8a2f..7b3edeb05e6 100644 --- a/src/BootstrapBlazor/Components/Select/MultiSelect.razor +++ b/src/BootstrapBlazor/Components/Select/MultiSelect.razor @@ -28,7 +28,7 @@
- + @item.Text
@@ -51,7 +51,7 @@ @if (GetClearable()) { - + }
@if (ShowSearch) diff --git a/src/BootstrapBlazor/Components/Select/MultiSelect.razor.cs b/src/BootstrapBlazor/Components/Select/MultiSelect.razor.cs index f90631de90e..4e246e2630f 100644 --- a/src/BootstrapBlazor/Components/Select/MultiSelect.razor.cs +++ b/src/BootstrapBlazor/Components/Select/MultiSelect.razor.cs @@ -56,6 +56,12 @@ public partial class MultiSelect [Parameter] public bool ShowCloseButton { get; set; } = true; + /// + /// 获得/设置 关闭按钮图标 默认为 null + /// + [Parameter] + public string? CloseButtonIcon { get; set; } + /// /// 获得/设置 是否显示功能按钮 默认为 false 不显示 /// @@ -152,14 +158,6 @@ public partial class MultiSelect [Parameter] [NotNull] public string? MinErrorMessage { get; set; } - - /// - /// Gets or sets the right-side clear icon. Default is null. - /// - [Parameter] - [NotNull] - public string? ClearableIcon { get; set; } - [Inject] [NotNull] private IStringLocalizer>? Localizer { get; set; } @@ -184,8 +182,8 @@ protected override void OnParametersSet() NoSearchDataText ??= Localizer[nameof(NoSearchDataText)]; DropdownIcon ??= IconTheme.GetIconByKey(ComponentIcons.MultiSelectDropdownIcon); + CloseButtonIcon ??= IconTheme.GetIconByKey(ComponentIcons.MultiSelectCloseIcon); ClearIcon ??= IconTheme.GetIconByKey(ComponentIcons.MultiSelectClearIcon); - ClearableIcon ??= IconTheme.GetIconByKey(ComponentIcons.MultiSelectClearableIcon); ResetItems(); ResetRules(); diff --git a/src/BootstrapBlazor/Enums/ComponentIcons.cs b/src/BootstrapBlazor/Enums/ComponentIcons.cs index 4063844f389..9ccde6692d8 100644 --- a/src/BootstrapBlazor/Enums/ComponentIcons.cs +++ b/src/BootstrapBlazor/Enums/ComponentIcons.cs @@ -451,14 +451,14 @@ public enum ComponentIcons MultiSelectDropdownIcon, /// - /// MultiSelect 组件 ClearIcon 图标 + /// MultiSelect 组件 CloseButtonIcon 图标 /// - MultiSelectClearIcon, + MultiSelectCloseIcon, /// - /// MultiSelect 组件 ClearableIcon 图标 + /// MultiSelect 组件 ClearIcon 图标 /// - MultiSelectClearableIcon, + MultiSelectClearIcon, /// /// SelectTree 组件 DropdownIcon 图标 diff --git a/src/BootstrapBlazor/Icons/BootstrapIcons.cs b/src/BootstrapBlazor/Icons/BootstrapIcons.cs index 95491bbd27a..8a4817671ee 100644 --- a/src/BootstrapBlazor/Icons/BootstrapIcons.cs +++ b/src/BootstrapBlazor/Icons/BootstrapIcons.cs @@ -109,8 +109,8 @@ internal static class BootstrapIcons { ComponentIcons.RibbonTabArrowPinIcon, "bi bi-pin bi-pin-angle" }, { ComponentIcons.MultiSelectDropdownIcon, "bi bi-chevron-up" }, - { ComponentIcons.MultiSelectClearIcon, "bi bi-x" }, - { ComponentIcons.MultiSelectClearableIcon, "bi bi-x-circle" }, + { ComponentIcons.MultiSelectCloseIcon, "bi bi-x" }, + { ComponentIcons.MultiSelectClearIcon, "bi bi-x-circle" }, { ComponentIcons.SelectTreeDropdownIcon, "bi bi-chevron-up" }, diff --git a/src/BootstrapBlazor/Icons/FontAwesomeIcons.cs b/src/BootstrapBlazor/Icons/FontAwesomeIcons.cs index 89958267838..3fb9db7a467 100644 --- a/src/BootstrapBlazor/Icons/FontAwesomeIcons.cs +++ b/src/BootstrapBlazor/Icons/FontAwesomeIcons.cs @@ -107,8 +107,8 @@ internal static class FontAwesomeIcons { ComponentIcons.RibbonTabArrowPinIcon, "fa-solid fa-thumbtack fa-rotate-90" }, { ComponentIcons.MultiSelectDropdownIcon, "fa-solid fa-angle-up" }, - { ComponentIcons.MultiSelectClearIcon, "fa-solid fa-xmark" }, - { ComponentIcons.MultiSelectClearableIcon, "fa-regular fa-circle-xmark" }, + { ComponentIcons.MultiSelectCloseIcon, "fa-solid fa-xmark" }, + { ComponentIcons.MultiSelectClearIcon, "fa-regular fa-circle-xmark" }, { ComponentIcons.SelectTreeDropdownIcon, "fa-solid fa-angle-up" }, diff --git a/src/BootstrapBlazor/Icons/MaterialDesignIcons.cs b/src/BootstrapBlazor/Icons/MaterialDesignIcons.cs index e731f3d1bfd..d724caf5efb 100644 --- a/src/BootstrapBlazor/Icons/MaterialDesignIcons.cs +++ b/src/BootstrapBlazor/Icons/MaterialDesignIcons.cs @@ -109,8 +109,8 @@ internal static class MaterialDesignIcons { ComponentIcons.RibbonTabArrowPinIcon, "mdi mdi-pin mdi-pin-off" }, { ComponentIcons.MultiSelectDropdownIcon, "mdi mdi-chevron-up" }, - { ComponentIcons.MultiSelectClearIcon, "mdi mdi-close" }, - { ComponentIcons.MultiSelectClearableIcon, "mdi mdi-trash-can-outline" }, + { ComponentIcons.MultiSelectCloseIcon, "mdi mdi-close" }, + { ComponentIcons.MultiSelectClearIcon, "mdi mdi-close-circle-outline" }, { ComponentIcons.SelectTreeDropdownIcon, "mdi mdi-chevron-up" }, diff --git a/test/UnitTest/Components/MultiSelectTest.cs b/test/UnitTest/Components/MultiSelectTest.cs index 6aea3777fae..67dd655fbfa 100644 --- a/test/UnitTest/Components/MultiSelectTest.cs +++ b/test/UnitTest/Components/MultiSelectTest.cs @@ -168,7 +168,8 @@ public async Task FlagEnum_Ok() Assert.Equal(2, values.Count); // 选中第四个 - var item = cut.FindAll(".dropdown-menu .dropdown-item").Last(); + var items = cut.FindAll(".dropdown-menu .dropdown-item"); + var item = items[items.Count - 1]; await cut.InvokeAsync(() => item.Click()); values = cut.FindAll(".multi-select-items .multi-select-item"); Assert.Equal(3, values.Count); @@ -644,7 +645,7 @@ public void ClearIcon_Ok() cut.SetParametersAndRender(pb => { - pb.Add(a => a.ClearableIcon, "icon-clear-test"); + pb.Add(a => a.ClearIcon, "icon-clear-test"); }); Assert.DoesNotContain("fa-regular fa-circle-xmark", cut.Markup); Assert.Contains("icon-clear-test", cut.Markup);