Вот базовый пример, который я сделал на основе своего реального кода:
Код: Выделить всё
@page "/problem-sample"
@(fileIsComplete ? "A file is uploaded" : "A file isn't uploaded")
@code {
public class FormModel
{
public IBrowserFile? File { get; set; }
}
private FormModel formModel = new();
private bool fileIsComplete = false;
public async Task HandleFormSubmit()
{
if (formModel.File == null)
{
return;
}
}
private async Task HandleFileUpload(InputFileChangeEventArgs e)
{
var file = e.File;
if (file != null)
{
fileIsComplete = true;
return;
}
}
}
- Если пользователь не загружает ни одного файла, параметр fileIsComplete должен иметь значение false.
- Если пользователь нажимает кнопку и загружает файл, параметр fileIsComplete должен иметь значение true.
- Если пользователь нажимает кнопку, но нажимает отменить или закрыть окно, fileIsComplete должно иметь значение false, даже если пользователь ранее загрузил файл.

Я пытался проверить, допускает ли файл значение NULL, используя тело выражения или напрямую используя stateHasChanged, но, похоже, ничего не работает.
Подробнее здесь: https://stackoverflow.com/questions/797 ... cancelling
Мобильная версия