diff --git a/src/BootstrapBlazor.Shared/Locales/en.json b/src/BootstrapBlazor.Shared/Locales/en.json index 09edad29653fc2111dacbba03bdeb10b5c6e0e3e..f3d074366c209fbd2a1a5ac857343283553c38ae 100644 --- a/src/BootstrapBlazor.Shared/Locales/en.json +++ b/src/BootstrapBlazor.Shared/Locales/en.json @@ -1802,6 +1802,7 @@ "ClickUploadIntro": "The ButtonUpload components, classic styles, user click button to pop up the file selection box.", "ClickUploadP1": "Click on the browse button select file upload, in this case set IsMultiple-true multiple-selectable file can be uploaded", "ClickUploadP2": "When you set up IsSingle, you can upload only one image or file", + "ClickUploadP3ShowUploadList": "Set ShowUploadList value to false as normal button", "UploadedFilesTitle": "A list of files has been uploaded", "UploadedFilesIntro": "Use DefaultFileList to set up uploaded content", "UploadFolderTitle": "Upload a folder", diff --git a/src/BootstrapBlazor.Shared/Locales/zh.json b/src/BootstrapBlazor.Shared/Locales/zh.json index 3090ce01e6453407d3729e9b781f17c51ffdd1e8..8060c3d332eb6bcf17f83046bf58c4410f6f6202 100644 --- a/src/BootstrapBlazor.Shared/Locales/zh.json +++ b/src/BootstrapBlazor.Shared/Locales/zh.json @@ -1804,6 +1804,7 @@ "ClickUploadIntro": "ButtonUpload 组件,经典款式,用户点击按钮弹出文件选择框。", "ClickUploadP1": "点击 浏览按钮 选择文件上传,本例中设置 IsMultiple=true 可多选文件进行上传", "ClickUploadP2": "设置 IsSingle 时,仅可以上传一张图片或者文件", + "ClickUploadP3ShowUploadList": "设置 ShowUploadList 值为 false 组件即与普通按钮一样,可自行处理上传文件逻辑", "UploadedFilesTitle": "已上传文件列表", "UploadedFilesIntro": "使用 DefaultFileList 设置已上传的内容", "UploadFolderTitle": "上传文件夹", diff --git a/src/BootstrapBlazor.Shared/Samples/Uploads.razor b/src/BootstrapBlazor.Shared/Samples/Uploads.razor index b98c86a3cf8953e965e4a17dd6e940267ace7cf5..82b330929ce34730fd6d5cecaeb673b6c92a1b8a 100644 --- a/src/BootstrapBlazor.Shared/Samples/Uploads.razor +++ b/src/BootstrapBlazor.Shared/Samples/Uploads.razor @@ -51,6 +51,8 @@

@((MarkupString)Localizer["ClickUploadP2"].Value)

+

@((MarkupString)Localizer["ClickUploadP3ShowUploadList"].Value)

+ diff --git a/src/BootstrapBlazor.Shared/Samples/Uploads.razor.cs b/src/BootstrapBlazor.Shared/Samples/Uploads.razor.cs index 61bb9acc1e027327a08ae0d34332a6bfad76ad3e..f1933070820bed00865ec07931e852d987b474ac 100644 --- a/src/BootstrapBlazor.Shared/Samples/Uploads.razor.cs +++ b/src/BootstrapBlazor.Shared/Samples/Uploads.razor.cs @@ -78,6 +78,11 @@ public sealed partial class Uploads : IDisposable } } + private async Task OnClickToUploadNoUploadList(UploadFile file) + { + await ToastService.Success("Upload", $"{file.OriginFileName} uploaded success."); + } + private CancellationTokenSource? UploadFolderToken { get; set; } private async Task OnUploadFolder(UploadFile file) { diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index 48c46c042155efe1a4a830fae7a1e09d6d16b9e7..fcfe60317e386211cf5251288871a23047587126 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,7 +1,7 @@ - 6.9.17 + 6.9.18-beta01 diff --git a/src/BootstrapBlazor/Components/Upload/ButtonUpload.razor b/src/BootstrapBlazor/Components/Upload/ButtonUpload.razor index 01405d60ed05d535261061110354af340bbf1382..c1dde072f06dffc1330f21343eada0148183520f 100644 --- a/src/BootstrapBlazor/Components/Upload/ButtonUpload.razor +++ b/src/BootstrapBlazor/Components/Upload/ButtonUpload.razor @@ -8,47 +8,50 @@ }
diff --git a/src/BootstrapBlazor/Components/Upload/ButtonUpload.razor.cs b/src/BootstrapBlazor/Components/Upload/ButtonUpload.razor.cs index 601b096b5ed062c7af6a439e527e690296700d61..17732dcef3ea613d2bfab14777cb4dabe140b532 100644 --- a/src/BootstrapBlazor/Components/Upload/ButtonUpload.razor.cs +++ b/src/BootstrapBlazor/Components/Upload/ButtonUpload.razor.cs @@ -9,12 +9,12 @@ namespace BootstrapBlazor.Components; /// /// /// -public sealed partial class ButtonUpload +public partial class ButtonUpload { private bool IsUploadButtonDisabled => IsDisabled || (IsSingle && UploadFiles.Any()); - private string? BrowserButtonClassString => CssBuilder.Default("btn btn-browser") - .AddClass(BrowserButtonClass) + private string? BrowserButtonClassString => CssBuilder.Default("btn-browser") + .AddClass(BrowserButtonClass, !string.IsNullOrEmpty(BrowserButtonClass)) .Build(); /// @@ -24,10 +24,16 @@ public sealed partial class ButtonUpload public string BrowserButtonIcon { get; set; } = "fa-regular fa-folder-open"; /// - /// 获得/设置 上传按钮样式 默认 btn-primary + /// 获得/设置 上传按钮样式 默认 null 使用 Button 默认 Color Primary /// [Parameter] - public string BrowserButtonClass { get; set; } = "btn-primary"; + public string? BrowserButtonClass { get; set; } + + /// + /// 获得/设置 是否显示上传列表 默认 true + /// + [Parameter] + public bool ShowUploadFileList { get; set; } = true; /// /// 获得/设置 浏览按钮显示文字 @@ -49,4 +55,10 @@ public sealed partial class ButtonUpload BrowserButtonText ??= Localizer[nameof(BrowserButtonText)]; } + + /// + /// + /// + /// + protected override bool ShouldAddUploadFiles() => ShowUploadFileList; } diff --git a/src/BootstrapBlazor/Components/Upload/ButtonUploadBase.cs b/src/BootstrapBlazor/Components/Upload/ButtonUploadBase.cs index 18c620a6d4c83a2f64b51889675a3cae313cfe36..45e91f65ebb4e738ea662b084545db4ec2977107 100644 --- a/src/BootstrapBlazor/Components/Upload/ButtonUploadBase.cs +++ b/src/BootstrapBlazor/Components/Upload/ButtonUploadBase.cs @@ -102,6 +102,12 @@ public abstract class ButtonUploadBase : SingleUploadBase } } + /// + /// 判断是否将上传文件添加到 UploadFiles 集合中 + /// + /// + protected virtual bool ShouldAddUploadFiles() => true; + private void Update(UploadFile file) { if (GetShowProgress(file))