Как использовать Blazored.Modal для рендеринга различных дочерних компонентов?C#

Место общения программистов C#
Ответить
Anonymous
 Как использовать Blazored.Modal для рендеринга различных дочерних компонентов?

Сообщение Anonymous »

Всем доброго дня. Как сказано в заголовке, можно ли отображать разные компоненты без закрытия и повторного открытия модального окна?
Я хотел бы знать простой способ обновления тела модального окна (в настоящее время мне нужно закройте модальное окно и откройте новое, что вызывает эффект мерцания, когда модальное окно закрывается на несколько миллисекунд и открывает новое) Я хочу только обновить тело модального окна. Документация https://blazored.github.io/Modal/ не содержит примера сценария. Буду признателен любому, кто сможет указать мне правильное направление. Спасибо
Я использую веб-приложение .NET8. У меня есть LoginFormComponent с кнопкой «Зарегистрироваться сейчас» и RegisterFormComponent с кнопкой «Войти сейчас». Я создал собственный модальный компонент под названием DynamicModal, очень похожий на CustomBootstrapModal от Blazored. У меня есть кнопка входа на главном экране, вот код:

Код: Выделить всё

void LoginClick()
{
var content = new RenderFragment(builder =>
{
builder.OpenComponent(0);
builder.CloseComponent();
});
var modalParams = new ModalParameters();
modalParams.Add(nameof(DynamicModal.ChildContent), content);
Modal.Show(modalParams);
}
Кнопка «Зарегистрироваться сейчас» в LoginFormComponent имеет тот же код, что и выше (просто заменено LoginFormComponent на RegisterFormComponent). Эффект заключается в том, что одно модальное окно накладывается поверх другого, и когда я нажимаю кнопку "Закрыть", модальное окно отображается под закрытым модальным окном.
Другой метод, который я попробовал, - это await BlazoredModal.CloseAsync(), за которым следует от Modal.Show, но это не выглядит плавно, поскольку модальное окно закрывается на несколько миллисекунд перед отображением следующей формы.

Подробнее здесь: https://stackoverflow.com/questions/791 ... components
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»