Skip to content

Commit 8d2cd8b

Browse files
committed
refactor: 重构按钮禁用逻辑
1 parent 5ef9c65 commit 8d2cd8b

7 files changed

Lines changed: 38 additions & 35 deletions

File tree

src/BootstrapBlazor/Components/Upload/AvatarUpload.razor.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -148,11 +148,7 @@ protected override void OnParametersSet()
148148
};
149149
}
150150

151-
/// <summary>
152-
/// <inheritdoc/>
153-
/// </summary>
154-
/// <returns></returns>
155-
protected override bool CheckCanUpload()
151+
private bool CheckCanUpload()
156152
{
157153
// 允许多上传
158154
if (IsMultiple)

src/BootstrapBlazor/Components/Upload/ButtonUpload.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<BootstrapLabel required="@Required" ShowLabelTooltip="ShowLabelTooltip" Value="@DisplayText" />
88
}
99
<div @attributes="@AdditionalAttributes" class="@ClassString" id="@Id">
10-
<Button class="@BrowserButtonClassString" IsDisabled="@IsUploadButtonDisabled" Size="Size" Icon="@BrowserButtonIcon" Text="@BrowserButtonText" Color="@BrowserButtonColor">
10+
<Button class="@BrowserButtonClassString" IsDisabled="@CheckStatus()" Size="Size" Icon="@BrowserButtonIcon" Text="@BrowserButtonText" Color="@BrowserButtonColor">
1111
@ChildContent
1212
</Button>
1313
@if (ShowUploadFileList)

src/BootstrapBlazor/Components/Upload/ButtonUpload.razor.cs

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,6 @@ public partial class ButtonUpload<TValue>
230230
.AddClass(CancelIcon)
231231
.Build();
232232

233-
private bool IsUploadButtonDisabled => CheckCanUpload();
234-
235233
/// <summary>
236234
/// OnParametersSet 方法
237235
/// </summary>
@@ -261,6 +259,23 @@ protected override void OnParametersSet()
261259
CancelIcon ??= IconTheme.GetIconByKey(ComponentIcons.UploadCancelIcon);
262260
}
263261

262+
private bool CheckStatus()
263+
{
264+
if (IsDisabled)
265+
{
266+
return true;
267+
}
268+
269+
// 允许多上传
270+
if (IsMultiple)
271+
{
272+
return MaxFileCount.HasValue && GetUploadFiles().Count >= MaxFileCount;
273+
}
274+
275+
// 只允许单个上传
276+
return UploadFiles.Count > 0;
277+
}
278+
264279
/// <summary>
265280
/// 点击下载按钮回调此方法
266281
/// </summary>

src/BootstrapBlazor/Components/Upload/CardUpload.razor.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -252,11 +252,7 @@ protected override void OnParametersSet()
252252
FileIconFile ??= IconTheme.GetIconByKey(ComponentIcons.FileIconFile);
253253
}
254254

255-
/// <summary>
256-
/// <inheritdoc/>
257-
/// </summary>
258-
/// <returns></returns>
259-
protected override bool CheckCanUpload()
255+
private bool CheckCanUpload()
260256
{
261257
// 允许多上传
262258
if (IsMultiple)

src/BootstrapBlazor/Components/Upload/InputUpload.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
Icon="@DeleteButtonIcon" Text="@DeleteButtonText" Color="Color.None"
1717
OnClick="@TriggerDeleteFile"></Button>
1818
}
19-
<Button class="@BrowserButtonClassString" IsDisabled="@IsDisabled" Icon="@BrowserButtonIcon"
19+
<Button class="@BrowserButtonClassString" IsDisabled="@CheckStatus()" Icon="@BrowserButtonIcon"
2020
Text="@BrowserButtonText" Color="Color.None"></Button>
2121
</div>
2222
<InputFile AdditionalAttributes="@GetUploadAdditionalAttributes()" OnChange="OnFileChange"></InputFile>

src/BootstrapBlazor/Components/Upload/InputUpload.razor.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,23 @@ protected override void OnParametersSet()
102102
DeleteButtonIcon ??= IconTheme.GetIconByKey(ComponentIcons.InputUploadDeleteButtonIcon);
103103
}
104104

105+
private bool CheckStatus()
106+
{
107+
if (IsDisabled)
108+
{
109+
return true;
110+
}
111+
112+
// 允许多上传
113+
if (IsMultiple)
114+
{
115+
return MaxFileCount.HasValue && GetUploadFiles().Count >= MaxFileCount;
116+
}
117+
118+
// 只允许单个上传
119+
return UploadFiles.Count > 0;
120+
}
121+
105122
private async Task TriggerDeleteFile()
106123
{
107124
var files = GetUploadFiles();

src/BootstrapBlazor/Components/Upload/UploadBase.cs

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -228,27 +228,6 @@ protected void Update(UploadFile file)
228228
}
229229
}
230230

231-
/// <summary>
232-
/// 是否可以上传
233-
/// </summary>
234-
protected virtual bool CheckCanUpload()
235-
{
236-
// 如果组件禁用了 IsDisabled 允许上传但是不出现 + 按钮
237-
if (IsDisabled)
238-
{
239-
return true;
240-
}
241-
242-
// 允许多上传
243-
if (IsMultiple)
244-
{
245-
return MaxFileCount.HasValue && GetUploadFiles().Count >= MaxFileCount;
246-
}
247-
248-
// 只允许单个上传
249-
return UploadFiles.Count > 0;
250-
}
251-
252231
/// <summary>
253232
/// Get the files collection.
254233
/// 获得当前文件集合

0 commit comments

Comments
 (0)