1. 问题pbQbfXfrXttg4OMWXV65/A==自定义一个btn-dialog按钮 弹出一个弹窗 在完成了弹窗内的业务关闭弹窗后 要刷新按钮所在窗体数据
2. 思路8NlgAND04QM46qNZtwE9sA==查找了若干社区帖子,综合Karson老板的回复
使用fast.api.open 和fast.api.close 是正途
3. 正确姿势hbnDNTpq8Jk4EWfXcJ4Fmw==自定义按钮 页面A{field: 'operate', title: __('Operate'), table: table, width:'30%',buttons:[ //width是规定这列的宽度
{
name: '编辑详情', //按钮的名称
text: '编辑详情',//显示的字
icon: 'fa fa-image',//按钮的图标
classname: 'btn btn-xs btn-primary btn-dialog',//按钮的类型 其中btn-dialog是我们要讨论的内容 还有其他请自行社区搜搜
url: function (row, column) { //row 表格接收到的数据
return "lverp/lvorderlist?ids=" + row.id; //弹窗的对应后台控制器方法 这里是默认index方法 加id参数
},
extend: 'data-area=\'["98%","98%"]\'', //这是控制弹窗的弹出的尺寸
callback: function (data) { //回调方法,用来响应 Fast.api.close()方法 **注意不能有success 是btn-ajax的回调,btn-dialog 用的callback回调,两者不能同存!!!!
$(".btn-refresh").trigger("click");//刷新当前页面的数据
console.error(data);//控制输出回调数据
},
hidden:function(data){ //控制按钮隐藏方法 判断表格数据是否满足要求,然后隐藏或显示
if(data.lvbuyquotation_ids)
return true;
}
}]
,events: Table.api.events.operate, formatter: Table.api.formatter.operate
}触发回调页面B 例子中btn-dialog url 是index方法index: function () {
parent.window.$(".layui-layer-iframe").find(".layui-layer-close").on('click',function () {
Fast.api.close("1111");
});
//这里是给当前弹窗的右上角X按钮绑定了一个事件,当然也可以其他按钮,绑定Fast.api.close(data)事件,我这里是index方法没啥值好传递了,就随便搞了个1111
//如果需要传值 请在table.on('load-success.bs.table', function (e, data) {} 表格数据加载完成后这个事件里面绑定相应按钮
}
4. 思考lxQJN+v4UI38nNqjtzdFYw==页面A中如果是模板上的按钮如何操作呢//在对应js方法中绑定
$(".your-button").on('click',function(){
Fast.api.open("www.fastadmin.net", "FastAdmin", {
callback:function(value){
$(".btn-refresh").trigger("click");//刷新当前页面的数据
console.error(value);//控制输出回调数据
//在这里可以接收弹出层中使用`Fast.api.close(data)`进行回传的数据
}
});
//或者 在js表单
Form.api.bindevent($("form[role=form]"), function(data, ret){
//给表单绑定新的回调函数 接收 控制器 success(msg,url,data)或者error(msg,url,data)
Fast.api.close(data);//在这里
console.log("成功");
}, function(data, ret){
console.error("错误");
});
5. PS.jZ/mg4gKCGY9l+YVNFACXw==本人美工 大神勿喷
如有错误、不详 欢迎回帖指正、补充
如本帖帮到了你 请收藏 请点赞