🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 弹窗相关方法 ## 3.2.弹窗相关方法 **open和popupRight方法:** ~~~ // 打开弹窗 admin.open({ type: 2, content: 'tpl-theme.html' }); // 打开右侧面板 admin.popupRight({ type: 2, content: 'tpl-theme.html' }); ~~~ 这两个方法只是对layer.open进行了一层封装,参数和layer一样,查看[layer文档](https://www.layui.com/doc/modules/layer.html)。 新增参数url: ~~~ admin.open({ title: 'Hello', url: 'tpl-theme.html' }); admin.popupRight({ url: 'tpl-theme.html' }); ~~~ `type:2, content:xxx`这种是iframe类型的弹窗,使用`url`会通过ajax加载页面到弹窗中,而不是iframe嵌入。 当使用url方式的时候,弹窗页面应该是代码片段,而不是完整的html,如下所示: ~~~ <style> * { color: red; } </style> <div class="layui-form model-form"> <button class="layui-btn" ew-event="closeDialog">关闭我</button> </div> <script> layui.use(['layer', 'form'], function () { var $ = layui.jquery; }); </script> ~~~ 页面不需要html、body这些东西,并且可以直接用`<script>`标签来写事件。 **admin.iframeAuto()方法:** 针对type:2的弹窗自适应弹窗高度,写在弹窗的子页面中,此方法是调用一次做一次高度自适应, 如果你用js动态修改了弹窗子页面的高度,需要再调用一次。 **admin.closeThisDialog():** 关闭当前iframe类型弹窗,针对type:2的弹窗,在弹窗的子页面调用即可关闭当前的iframe弹窗。 **admin.closeDialog('#xxx'):** 关闭非iframe类型的弹窗,调用需要传递弹窗页面里面任意一个的元素。 关闭弹窗还可以使用`ew-event`操作: ~~~ <!-- 关闭弹窗(智能) --> <button ew-event="closeDialog"></button> <!-- 关闭iframe类型的弹窗 --> <button ew-event="closeIframeDialog"></button> <!-- 关闭页面层的弹窗 --> <button ew-event="closePageDialog"></button> ~~~ > admin模块还封装了弹窗参数传递等更多关于弹窗的使用,请到弹窗专题查看。