一张图解析FastAdmin中的弹出窗口的功能(备份)

功能描述

弹出窗口是FastAdmin中最常用的功能之一,FastAdmin中默认生成的CRUD中的编辑、添加和删除的弹窗都是基于Layer弹层组件实现的,FastAdmin在此基础上进行了扩展和二次开发,除了Layer原有的功能外,还有部分FastAdmin特有的功能。

首先我们先来看看最常用的编辑和添加弹窗。在CRUD后的列表中默认的添加和编辑按钮会自动绑定事件,如果需要手动弹窗,我们可以使用Fast.api.open(url, title, options)进行弹出。

这里一定得注意下Fast.api.openLayer.open有很大的区别,Layer.openLayer自带的原始方法,Fast.api.open是FastAdmin独有的方法。

接下来我们看下使用Fast.api.open弹出的弹出窗口的组成部分

1.标题区域

用于显示弹出层的标题,配置title即可

2.内容区域

用于展示url对应的页面的内容,此处嵌入的urliframe,也就是说弹出窗口的正文是通过iframe显示的,那么正文部分相当于完全新开一个页面。

3.操作区域

这个区域比较特殊,FastAdmin做了许多定制化,显示的内容从url对应的页面中的layer-footer区域内的内容复制到外部显示的。也就是说这部分的内容我们完全可以自定义,只需要修改url页面对应layer-footer区域内的内容即可。这里需要注意下这部分的内容会随着页面中layer-footer区域内的内容变化而变化,事件也会随之响应。

事件绑定

内容区域内因为是一个单独的iframe,通常情况下页面都是一个表单,默认是不会绑定事件的,我们需要在控制器对应的JS中Form.api.bindevent进行绑定事件,绑定事件后我们点确定按钮才会采用Ajax的方式进行提交表单,否则会采用原始的方式提交表单。

常用示例

打开一个弹窗并接收回传数据

javascript 复制代码
Fast.api.open("/example/select", "FastAdmin", {
    callback:function(value){
        在这里可以接收弹出层中使用`Fast.api.close(data)`进行回传的数据
    }
});

表单提交成功后不关闭弹窗

javascript 复制代码
Form.api.bindevent("form[role=form]", function(data, ret){
    //这里只要返回false,就会阻止我们的弹窗自动关闭和自动提示
    return false;
});

参考

https://ask.fastadmin.net/article/2527.html

相关推荐
sbjdhjd16 小时前
PHP eval 型 RCE:flag 正则过滤与通配符绕过实操 | 01
安全·web安全·网络安全·开源·系统安全·php·网络攻击模型
qetfw21 小时前
Debian Nginx + PHP-FPM 配置:FastCGI、站点目录与访问验证
linux·nginx·debian·php
啊阿狸不会拉杆1 天前
《计算机网络-自顶向下方法》3.6 拥塞控制原理 读书笔记
计算机网络·智能路由器·php
郑州光合科技余经理1 天前
本地生活服务系统:成品模块和定制接口怎么划界
java·前端·人工智能·后端·系统架构·php·ai编程
LorryJovens1 天前
【LAAP科研】CEN因果等价网络理论---从双缝干涉到因果等价
开发语言·php
Casual1 天前
【网络基础进阶】:看懂子网划分与 VLAN
开发语言·网络·php
0xBADCODE2 天前
CTF Writeup 合集
安全·web安全·网络安全·系统安全·密码学·php·ctf
IPdodo_2 天前
静态 IP 访问异常排查:403/429 归因与迁移验收
服务器·网络·数据库·python·网络协议·php·性能测试
砚凝霜2 天前
【软考信息安全】第二章 网络攻击基础与常见技术方法
网络·安全·php
XR1234567882 天前
办公组网像“看病“:先问诊,再选型
开发语言·php