官方文档

1. 注入服务 DialogService

@inject DialogService DialogService

或者后置代码

[Inject]
[NotNull]
private DialogService? DialogService { get; set; }

2. 弹出说明

await DialogService.Show(new DialogOption()
{
    Title = "运行结果",
    IsScrolling = true,
    IsCentered = true,
    BodyTemplate = new RenderFragment(builder =>
    {
        builder.OpenElement(1, "p");
        builder.AddContent(2, "结果1结果2结果3结果4");
        builder.CloseElement();
    })
});

image

[特别介绍] SweetAlert 弹窗组件

SweetAlert

[Inject]
[NotNull]
private SwalService? SwalService { get; set; }

var op = new SwalOption()
{
    Title = Localizer["SwalOptionTitle"],
    Content = Localizer["SwalOptionContent"]
};
var ret = await SwalService.ShowModal(op);

image

3. 弹出组件

DialogService.Show(new DialogOption()
{
    Title = "Built-in Counter component",
    Component = BootstrapDynamicComponent.CreateComponent<Counter>()
});

image

4. 弹出编辑框

    string CurrentDirectory = "";
    void LoadFiles() { }
    public class NewFolders
    {

        [DisplayName("文件夹名称")]
        public string NewFolderName { get; set; }

    }


    private async Task ShowNewFolderDialog()
    {
        var newFolders = new NewFolders();
        var option = new EditDialogOption<NewFolders>()
        {
            Title = "新文件夹名称",
            Model = newFolders,

            OnEditAsync = context =>
            {
                string path = Path.Combine(CurrentDirectory, newFolders.NewFolderName);

                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                    LoadFiles();
                }

                return Task.FromResult(true);
            }
        };

        await DialogService.ShowEditDialog(option);
    }

image