在Blazor客户端中显示模式对话框

时间:2020-06-13 16:03:56

标签: bootstrap-4 blazor

我知道Blazored Modalthis answer,但是我不想拥有一个仅用于显示模式的特定组件(缺乏灵活性),并且想要自己在各个组件中实现代码。 / p>

这是一个非常简单的代码,用于显示示例模式:

@page "/fetchdata"


<button class="btn btn-primary" @onclick="@(() => { showModal = true; })">Show Dialog!</button>
@if (showModal)
{
<div class="modal-backdrop fade show" tabindex="-1" role="dialog" style="display: block;">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">Modal title</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                <p>Modal body text goes here.</p>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-primary">Save changes</button>
                <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
            </div>
        </div>
    </div>
</div>
}
<hr />

<h1>Weather forecast</h1>

<p>This component demonstrates fetching data from the server.</p>


@code {
    bool showModal = false;
}

该代码有效,但存在不透明性问题: enter image description here

style="opacity:1;"放在<div class="modal-dialog" role="document">上也不能解决问题(尽管给opacity的值小于1会使它更透明!)

问题的原因是什么?如何解决?

1 个答案:

答案 0 :(得分:2)

请勿直接使用模式背景。使用简单的模态。模态背景是框架应用于背景内容的方式。