记录一次在fastadmin中列表顶部增加操作按钮并展开页面操作

index.html

<a href="javascript:;" class="btn btn-success btn-adds btn-disabled disabled {:$auth->check('match/article/adds')?'':'hide'}" title="{:__('指定评委')}" ><i class="fa fa-email"></i> {:__('指定评委')}</a>

定义一个新的操作按钮,这个是为了携带列表中被选中的id,

require-table.js

config: {
            checkboxtd: 'tbody>tr>td.bs-checkbox',
            toolbar: '.toolbar',
            refreshbtn: '.btn-refresh',
            addbtn: '.btn-add',
            addsbtn: '.btn-adds',
            editbtn: '.btn-edit',
            delbtn: '.btn-del',
            importbtn: '.btn-import',
            multibtn: '.btn-multi',
            disabledbtn: '.btn-disabled',
            editonebtn: '.btn-editone',
            restoreonebtn: '.btn-restoreone',
            destroyonebtn: '.btn-destroyone',
            restoreallbtn: '.btn-restoreall',
            destroyallbtn: '.btn-destroyall',
            dragsortfield: 'weigh',
        },

 

addsbtn: '.btn-adds',
// 添加按钮事件
                toolbar.on('click', Table.config.addsbtn, function () {
                    var ids = Table.api.selectedids(table);
                    var url = options.extend.adds_url;
                    /*if (url.indexOf("{ids}") !== -1) {
                        url = Table.api.replaceurl(url, {ids: ids.length > 0 ? ids.join(",") : 0}, table);
                    }*/
                    url = Table.api.replaceurl(url, {ids: ids.length > 0 ? ids.join(",") : 0}, table);
                    Fast.api.open(url, $(this).data("original-title") || $(this).attr("title") || __('Add'), $(this).data() || {});
                });

  

 增加一个新的点击事件,注意将url携带参数的判断注释掉,

 

页面对应的js文件:

首先在index方法中定义“adds_url”

 

然后定义一个新的操作方法

adds: function () {
            Controller.api.bindevent();
        },

控制器中定义一个类似edit的操作方法,负责接收链接中携带的参数

 

 

 

PS:

如果不需要页面展开,只是一个单纯操作,直接在index方法中定义ajax事件即可

 

posted @ 2022-09-06 17:03  U丶Zero  阅读(1314)  评论(0编辑  收藏  举报