PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > CMS教程 > Fastadmin

分享自定义按钮btn-dialog在关闭弹窗后刷新父窗体 刷新 关闭 按钮 callback 自定义

管理员 2024-12-14
Fastadmin
6

1. 问题

  • 自定义一个btn-dialog按钮 弹出一个弹窗 在完成了弹窗内的业务关闭弹窗后 要刷新按钮所在窗体数据

2. 思路

  • 查找了若干社区帖子,综合Karson老板的回复
  • 使用fast.api.open 和fast.api.close 是正途

3. 正确姿势

  • 自定义按钮 页面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. 思考

    • 页面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.

  • 本人美工 大神勿喷
  • 如有错误、不详 欢迎回帖指正、补充
  • 如本帖帮到了你 请收藏 请点赞

希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部