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==本人美工 大神勿噴
如有錯誤、不詳 歡迎回帖指正、補充
如本帖幫到了你 請收藏 請點贊