模态窗 (Modal)

未匹配的标注

模态窗 (Modal)

Since v1.7.0

基本使用

use Dcat\Admin\Widgets\Modal;

$modal = Modal::make()
    ->lg()
    ->title('标题')
    ->body(view(...))
    ->button('<button class="btn btn-primary">点击打开弹窗</button>');

return view(..., ['modal' => $modal]);    

功能

标题 (title)

设置弹窗标题

$modal->title('标题');

内容 (body)

设置弹窗内容,此方法接受一个参数,允许传入stringCloureIlluminate\Contracts\Support\Renderable以及Dcat\Admin\Contracts\LazyRenderable类型值

// 传入字符串
$modal->body('字符串');

// 传入闭包,注意闭包必须返回字符串类型值或空值
$modal->body(function () {
    return view(...)->render();
});

// 传入 Renderable
use Dcat\Admin\Widgets\

$modal->body(view(...));
$modal->body(Card::make());

// 传入 LazyRenderable
$modal->body(PostTable::make());

底部内容 (footer)

设置弹窗底部内容,此方法接受一个参数,允许传入stringCloureIlluminate\Contracts\Support\Renderable以及Dcat\Admin\Contracts\LazyRenderable类型值,用法同上

$modal->footer('字符串');

$modal->footer(view(...));

尺寸

默认 500px

// 800px
$modal->lg();

// 1140px
$modal->xl();

按钮 (button)

设置按钮

事件监听

支持事件

  • onShow 弹窗显示事件
  • onShown 弹窗已显示事件
  • onHide 弹窗隐藏事件
  • onHidden 弹窗已隐藏事件

用法示例

use Dcat\Admin\Admin;

$modal->onShow(
    <<<JS
console.log('显示弹窗', target, $(this));    
JS
);

$modal->onHide(
    <<<JS
console.log('隐藏弹窗', target, $(this));    
JS
);

垂直居中 (centered)

设置弹窗垂直居中

$modal = Modal::make()
    ->xl()
    ->centered() // 设置弹窗垂直居中
    ->title(...)
    ->body(...);

内容可滚动 (scrollable)

设置弹窗内容可滚动

$modal = Modal::make()
    ->xl()
    ->scrollable() // 设置弹窗内容可滚动
    ->title(...)
    ->body(...);

表单弹窗

参考文档 工具表单 - 弹窗

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 2
发起讨论 只看当前版本


ly2997
dact-admin 模态框嵌套无法显示
0 个点赞 | 5 个回复 | 问答 | 课程版本 2.x
mar_he
dcatadmin 模态框问题
0 个点赞 | 3 个回复 | 问答 | 课程版本 2.x