使用X-admin(Layui)前端框架,从数据列表页点击弹框(open)的添加页面,然后添加成功关闭弹框且刷新列表页,这种情况比较常见代码如下:
// 获得frame索引
var index = parent.layer.getFrameIndex(window.name);
//关闭当前frame
parent.layer.close(index);
window.parent.location.reload();
如果是添加页面的字段很多,打开新的Tab页面的话,就不能使用以上代码,我的解决方案是代码如下:
//重新调用打开list页面,并且刷新。
parent.xadmin.add_tab('列表','list.action',true);
//关闭当前tab页面 必须后关闭。
xadmin.del_tab();
===分割线======以上方法会造成列表标签页会重复的情况===体验很不好=================
后来发现有个更好的解决方式,就表单页面的字段很多的情况下也是用open打开,设置open为弹出默认全屏。然后在提交成功之后在调用 parent.localtion.reload(),这样还可以保留列表页筛选条件并且刷新。
list页面:
layui原生写法:
//弹出即全屏
var index = layer.open({
type: 2,
content: 'http://www.layui.com',
area: ['300px', '195px'],
maxmin: true
});
layer.full(index);
使用x-admin写法:
xadmin.open('添加党员','url',null,null,true);
表单页提交成功:
parent.location.reload();
xadmin.del_tab();