外观
查询过滤
查询过滤
model-grid 提供了一系列的方法实现表格数据的查询过滤:
php
// 禁用
$table->disableFilter();
// 显示
$table->showFilter();
// 禁用过滤器按钮
$table->disableFilter();
// 显示过滤器按钮
$table->showFilter();
$table->filter(function($filter){
// 禁用id过滤器
$filter->disableIdFilter();
// 展开过滤器
$filter->expand();
// 在这里添加字段过滤器
$filter->equal('id', '产品序列号');
$filter->like('name', 'name');
// 自定义列(一行为12)
$filter->column(3,function (Grid\Filter $filter){
$filter->equal('level2', "等级");
});
$filter->column(4,function (Grid\Filter $filter){
/*$filter->equal('level', "等级")->radio(["等级1","等级2","等级3"]);
$filter->equal('level_list', "等级")->checkbox(["等级1","等级2","等级3"]);*/
$filter->equal('level', "等级")->select(["等级1","等级2","等级3"]);
$filter->equal('level_list', "等级")->multipleSelect(["等级1","等级2","等级3"]);
});
...
});开启筛选快捷键
按ctrl+F会展开筛选,按ESC键重置筛选
php
$table->enableFilterShortcut();查询类型
目前支持的过滤类型有下面这些:
equal
sql: ... WHERE column = "$input":
php
$filter->equal('column', $label);notEqual
sql: ... WHERE column != "$input":
php
$filter->notEqual('column', $label);like
sql: ... WHERE column LIKE "%$input%":
php
filter->like('column', $label);表单类型
text
表单类型默认是 text input,可以设置 placeholder:
php
$filter->equal('column')->placeholder('请输入。。。');也可以通过下面的一些方法来限制用户输入格式:
php
$filter->equal('column')->url();
$filter->equal('column')->email();
$filter->equal('column')->integer();
$filter->equal('column')->ip();
$filter->equal('column')->mac();
$filter->equal('column')->mobile();
// $options 参考 https://github.com/RobinHerbots/Inputmask/blob/4.x/README_numeric.md
$filter->equal('column')->decimal($options = []);
// $options 参考 https://github.com/RobinHerbots/Inputmask/blob/4.x/README_numeric.md
$filter->equal('column')->currency($options = []);
// $options 参考 https://github.com/RobinHerbots/Inputmask/blob/4.x/README_numeric.md
$filter->equal('column')->percentage($options = []);
// $options 参考 https://github.com/RobinHerbots/Inputmask, $icon为input前面的图标
$filter->equal('column')->inputmask($options = [], $icon = 'pencil');select
php
$filter->equal('column')->select(['key' => 'value'...]);
// 或者从api获取数据,api的格式参考model-form的select组件
$filter->equal('column')->select('api/users');