官方一张图解析表格列表功能文档:(一张图解析FastAdmin中的表格列表的功能 - FastAdmin问答社区)
会遇到后期手动添加tab栏的情况
首先,需要在控制器对应的index.html页面中需要增加你想要筛选的字段
<div class="panel-heading">
{:build_heading(null,FALSE)}
<ul class="nav nav-tabs" data-field="is_alone">
<li class="{:$Think.get.is_alone === null ? 'active' : ''}"><a href="#t-all" data-value="" data-toggle="tab">{:__('All')}</a>
</li>
{foreach name="isAloneList" item="vo"}
<li class="{:$Think.get.is_alone === (string)$key ? 'active' : ''}"><a href="#t-{$key}" data-value="{$key}"data-toggle="tab">{$vo}</a></li>
{/foreach}
</ul>
</div>
其次需要在对应模型中去定义上述文件的isAloneList数据
public function getIsAloneusList()
{
return ['0'=>__('Is_alone 0'),'1'=>__('Is_alone 1')];
}
再其次需要经过控制器将数据传递到index.html页面
$this->model = new \app\admin\model\api\Order;
$this->assign("isAloneList",$this->model->getIsAloneusList());
经过上述操作后后台页面已经会呈现出你想要的tab选择框
但是当你点击时会发现没有达到你想要的筛选数据的效果
最后需要再js中var table = $("#table");添加以下代码
$('.panel-heading a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
var field = $(this).closest("ul").data("field");
var value = $(this).data("value");
var options = table.bootstrapTable('getOptions');
options.pageNumber = 1;
options.queryParams = function (params) {
var filter = {};
if (value !== '') {
filter[field] = value;
}
params.filter = JSON.stringify(filter);
return params;
};
table.bootstrapTable('refresh', {});
return false;
});
注意:
tab栏字段一定要和js中显示的字段相对应,否则也会发生不生效的作用