创建一个和平常一样的table实例,并且再创建一个tableFilter实例,挂载到table即可完成 本地过滤不建议开启分页和排序
和local本地过滤类似。只是将过滤逻辑交给服务端再返回给前端,刷新表格后显示结果数据
因为是本地JSON数据演示,返回数据不会变!可以打开F12控制台Network中查看请求的参数
tableFilter最核心的一个方法就是 tableFilter.render(options)
//1、加载CSS
//2、定义layui组件 得到 tableFilter 对象
var tableFilter = layui.tableFilter;
//3、定义一个tableFilter 挂载到 table 上
var tableFilterIns = tableFilter.render({
'elem' : '#localtable',//table的选择器
'mode' : 'local',//过滤模式
'filters' : [],//过滤项配置
'done': function(filters){
//结果回调
}
})
options参数说明
| 参数选项 | 说明 | 类型 | 示例值 |
|---|---|---|---|
| elem | 指定原始 table 容器的选择器。 | string | "#table" |
| mode |
设置过滤方式。
|
string | "local" |
| parent | 指定过滤选择器 append 到哪(可有效解决位置问题,比如本文档演示)。非必填,默认在 body 底部 | string | "body" |
| filters | 配置过滤项,具体请详见下一张关于filters的参数说明。 | Array | [{},{}] |
| done | 每一次过滤/移除过滤都将会触发回调,返回 filters 所有过滤条件 不管mode是什么方式,都将返回 filters | Function | - |
filters参数说明
filters 是一个对象数组 定义哪几个列使用哪种过滤类型
| 参数选项 | 说明 | 类型 | 示例值 |
|---|---|---|---|
| field | 指定哪列使用过滤,与 table 中 cols 里的 field 同值。 | string | "id" |
| name | 用于api过滤方式,服务端需要的的参数名。不填则取 field 的值 | string | "ID" |
| type |
设置过滤类型。
|
string | "input" |
| data | 用于单选/多选自定义显示过滤项,格式如下。非必填
[{ "key":"1", "value":"有效"},{ "key":"0", "value":"失效"}]
|
Array | [{},{}] |
| url | 用于单选/多选AJAX显示过滤项,暂只支持 GET 方式,请求url地址,务必返回格式如下。非必填
{
"code": 0,
"msg": "",
"data": [
{ "key":"1", "value":"有效"},
{ "key":"0", "value":"失效"}
]
}
|
string | "josn/filter.json" |