antd 模态组件未在 Blazor 中显示

问题描述 投票:0回答:1

我正在使用 antD 创建一个模态组件来显示一些信息,该组件嵌套在父组件中,我通过一个名为 Visible 的参数传递一个值,页面第一次呈现时我可以打开模态,但对于某些关闭模式后单击按钮再次显示它没有显示的原因,似乎是 blazor 的反应性问题或类似的问题,但我真的不明白它出了什么问题

(父组件)

@using gluenet.Components.Pages.SensitivityAnalisysComponents
@code{

     private bool flowingVisible = false;

     void OpenFlowingGradient()
     {
       flowingVisible = true;
        
     }

}

<Button Icon="@IconType.Outline.Plus" OnClick="()=>OpenFlowingGradient()"/>

<FlowingGradientSurvey Visible="flowingVisible"/>

(子组件)#SensitivityAnalisysComponents 文件夹内

@code {
    [Parameter]
    public bool Visible { get; set; }
}

<Modal
    @bind-Visible="@Visible" 
    OkText="@("Apply")"
    CancelText="@("Cancel")" 
    Centered="true" 
    MaxBodyHeight="@("80vh")" 
    style="width: 70vw;">

    Here i put the content that i want to show...

</Modal>

如果有人可以解释为什么我会出现这种行为,那将非常有帮助,因为我不明白

c# asp.net-core blazor
1个回答
0
投票

您可以尝试以下方法来实现链绑定

@bind-Visible="flowingVisible"
:
FlowingGradientSurvey.razor

@using AntDesign
@code {
    [Parameter]
    public bool Visible { get; set; }
    [Parameter]
    public EventCallback<bool> VisibleChanged { get; set; }
}
<Modal @bind-Visible="@Visible">
    Here i put the content that i want to show...
</Modal>

家长

...
<FlowingGradientSurvey @bind-Visible="flowingVisible" />
...

参考:https://learn.microsoft.com/en-us/aspnet/core/blazor/components/data-binding?view=aspnetcore-8.0#binding-with-component-parameters

© www.soinside.com 2019 - 2024. All rights reserved.