我不喜欢phoenix_html目前用于删除确认的阻止浏览器确认对话框。鉴于Phoenix默认使用Bootstrap,如何将Bootstrap modal component与Phoenix集成?
答案 0 :(得分:1)
如果(并且只有)jQuery可用且存在合适的DOM元素,我已将此对话的委派实现为Bootstrap模态组件。
web/static/js
文件夹。import "phoenix_html"
web/static/js/app.js
行
在HTML模板中包含Bootstrap模式组件的HTML。 Bootstrap文档建议:
始终尝试将模态的HTML代码放在顶层位置 您的文档,以避免影响模态的其他组件 外观和/或功能。
确保您的HTML包含顶级id="phoenix-bs-modal"
上的<div class="modal">
,并且模式中存在主要(确认)按钮<button class="btn-primary">
:
<div class="modal fade" id="phoenix-bs-modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title">Modal title</h4>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
通过删除链接上的data-confirm
属性传入的消息将被转发到模式正文。
这对我来说有助于获得连贯的布局。我正在把解决方案放在那里因为希望它对其他人也有用。