Layer success 层弹出后的成功回调方法
在表格操作行点击查看按钮,弹出框显示这一行的某个字段[content]信息。
【法一】、在链接后面传id,在方法中查出这条信息,把整条信息通过tp5的assign()传到前端,显示在页面。
//弹出框写法
let _data = obj.data; //这一行的所有数据
layer.open({
type: 2
,title: '查看详情'
content: '/index/abnor/look?id=' + _data.id
,area: ['95%', '95%']
})
//look方法的写法
public function look() {
$id = input('id'); //获取ID
$info = $this->service->info($id); //查询单条数据
$this->assign('info', $info); //把信息传到前端
return $this->fetch(); //页面渲染
}
//look页面的写法
<textarea class="layui-textarea">
{$info.content}
</textarea>
【法二】、不需要传id参数,直接通过success把content的值赋给look页面
//弹出框写法
let _data = obj.data; //这一行的所有数据
layer.open({
type: 2
,title: '查看详情'
,content: '/index/abnor/look'
,area: ['95%', '95%'],
success:function (layero, index){ //弹出层加载成功后执行
let iframeWindow = window['layui-layer-iframe'+ index];
let doc = $(iframeWindow.document);
doc.find('.layui-textarea').text(_data.content);
}
})
//look方法的写法
public function look() {
return $this->fetch(); //页面渲染
}
//look页面的写法
<textarea class="layui-textarea"> </textarea>
【官方文档:https://www.layui.com/doc/modules/layer.html#layer.open 】
[ type - 基本层类型 ]
类型:Number,默认:0
layer提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe层)3(加载层)4(tips层)。 若你采用layer.open({type: 1})方式调用,则type为必填项(信息框除外)
[ title - 标题 ]
类型:String/Array/Boolean,默认:'信息'
title支持三种类型的值,若你传入的是普通的字符串,如title :'我是标题',那么只会改变标题文本;若你还需要自定义标题区域样式,那么你可以title: ['文本', 'font-size:18px;'],数组第二项可以写任意css样式;如果你不想显示标题栏,你可以title: false
[ content - 内容 ]
类型:String/DOM/Array,默认:''
content可传入的值是灵活多变的,不仅可以传入普通的html内容,还可以指定DOM,更可以随着type的不同而不同。
[ area - 宽高 ]
类型:String/Array,默认:'auto'
在默认状态下,layer是宽高都自适应的,但当你只想定义宽度时,你可以area: '500px',高度仍然是自适应的。当你宽高都要定义时,你可以area: ['500px', '300px']
[ success - 层弹出后的成功回调方法 ]
类型:Function,默认:null
当你需要在层创建完毕时即执行一些语句,可以通过该回调。success会携带两个参数,分别是当前层DOM当前层索引。