Fastadmin fast.api.open回调函数
文章讲述了如何通过Fast.api的回调函数功能,在A页面点击事件打开B页面后,当B页面上的特定按钮被点击时,将数据传回给A页面。在B页面,数据会被处理并以Fast.api.close()方法关闭时传递出去,如果需要传输多个数据,可以将它们拼接成字符串。
通过回调函数讲子页面的数据传输到父页面,
A页面为父页面,B页面是子页面
在A页面点击事件调B页面
Fast.api.open("URL","页面名称",{ area:['78%','95%'], callback:function(value){ //value 就是B页面传输的数据 } }
在B页面: B:function(){ //页面中加上以下部分 '.btn-success是B页面的按钮的class $(document).on('click', '.btn-success', function(){ //data为要传输的数据,只能放一个数据,所以传输的数据多的时候可以拼接一个字符串 Fast.api.close(data); }); }
------------------再举例
$(document).on('click','.btn', function (event) { var url = $(this).attr('data-url'); if(!url) return false; var msg = $(this).attr('data-title'); var width = $(this).attr('data-width'); var height = $(this).attr('data-height'); var area = [$(window).width() > 800 ? (width?width:'800px') : '95%', $(window).height() > 600 ? (height?height:'600px') : '95%']; var options = { shadeClose: false, shade: [0.3, '#393D49'], area: area, callback:function(value){ //这个value就是传上来的值 console.log(value); } }; Fast.api.open(url,msg,options); });
在子窗体的js里加,本身如果要绑定事件是:
Controller.api.bindevent();
但是如果要传值,可以改成以下:
//给按钮添加点击事件 $(document).on('click', '.btn-band', function () { var ids = Table.api.selectedids(table); //获取选中的id,获取到的是个数组 Fast.api.close(ids);//这里是重点,将这个ids 传至父页面 });