首页 > 解决方案 > Ant Blazor Modal 使用模板

问题描述

我是 blazor 的新手,我正在将 Ant design blazor 用于前端。我想使用模板创建一个模态。模态应该包含一个表单。在 Ant Blazor 文档中,他们为此提供了以下代码。

@inject ModalService ModalService

<Input @bind-Value="@value" placeholder="user name" />
<br />
<br />
<Button OnClick="OpenTemplate" Type="primary">Use Template</Button>

@code{

    private string value = "blazor";

    private ModalRef _modalRef;

    private async Task OpenTemplate()
    {
        var templateOptions = new Form.demo.Basic.Model();
        templateOptions.Username = value;

        var modalConfig = new ModalOptions();
        modalConfig.Title = "Basic Form";
        modalConfig.OnCancel = async (e) =>
        {
            Console.WriteLine("OnCancel");
            await _modalRef.CloseAsync();
        };

        modalConfig.AfterClose = () =>
        {
            Console.WriteLine("AfterClose");
            value = templateOptions.Username;
            InvokeAsync(StateHasChanged);
            return Task.CompletedTask;
        };

        _modalRef = await ModalService
            .CreateModalAsync<ModalTemplateDemo, Form.demo.Basic.Model>
            (modalConfig, templateOptions);

        _modalRef.OnOpen = () =>
        {
            Console.WriteLine("ModalRef OnOpen");
            return Task.CompletedTask;
        };

        _modalRef.OnOk = () =>
        {
            Console.WriteLine("ModalRef OnOk");
            return Task.CompletedTask;
        };

        _modalRef.OnCancel = () =>
        {
            Console.WriteLine("ModalRef OnCancel");
            return Task.CompletedTask;
        };

        _modalRef.OnClose = () =>
        {
            Console.WriteLine("ModalRef OnClose");
            return Task.CompletedTask;
        };
    }
}

但是在这一行中,有一个东西叫做ModalTemplateDemo

 _modalRef = await ModalService.CreateModalAsync<ModalTemplateDemo, Form.demo.Basic.Model>(modalConfig, templateOptions);

他们没有提到任何关于ModalTemplateDemo. 这是什么ModalTemplateDemo?如何使用它?请帮忙

标签: asp.net-coreblazorantdblazor-server-sideant-design-blazor

解决方案


推荐阅读