bootstrap-table设置select过滤器值(filterData)

filterControl设置select(选择控件),默认是数据当前不重复,但如果是分页或者筛选数据时,select的数据就不完整

 

 

 

filterData

bootstrap-table官网上有三种方法设置select过滤器的值,用于var:variable从变量url:http://www.example.com/data.json加载或从远程json文件json:{key:data}加载或从json字符串加载。

1、var格式

<th data-field="grade" data-sortable="true" data-filter-control="select" data-filter-data="var:grade">評級</th>
var grade = {
    "A": "A",
    "A+": "A+",
    "B": "B",
    "B+": "B+",
    "C": "C",
};

2、URL格式(不推荐)

控制器格式键值对,否则url就获取不到

    public function options()
    {
        $list = User::order("name asc")->column('name', 'uid');return json($list);
    }

HTML:

<th data-field="users" data-filter-control="select" data-filter-data="url:http://localhost:8080/index/users/options">用户</th>

注:如果网络有延迟,不推荐使用url

3、json格式

控制器:

public function getImmigrant()
{
    $where2 = [
        ["module_name", '=', 'customer'],
        ["type_id", '=', 'immigrant'],
    ];
    $immigrant = Mapping::where($where2)->column("name", "name");
    View::assign([
        'getImmigrant'=>$immigrant
    ]);
    return View::fetch('index');
}

JS:

var getImmigrant = {:json_encode($getImmigrant)};


{
    field: 'immigrant',
    title: '移民國家',
    filterControl: 'select',
    filterData:"json:"+JSON.stringify(getImmigrant)
}

注:getImmigrant要经过转码,因为直接输出json和数组会报错

 

 

官网文档:https://www.bootstrap-table.com.cn/examples/methods/get-all-selections/

posted @ 2020-09-01 20:44  不睡  阅读(5057)  评论(0编辑  收藏  举报