fastadmin URL参数渲染高级搜索默认值

初始化表格的时候加上配置renderDefault:true,

 {
    field: 'cate_id', 
    title: '业绩分组',
    operate: '=',
    visible:false,
    renderDefault:true,
    //从接口获取json数据渲染下拉筛选框。json是列表必须有id,name两个字段否准无法正常显示
    //有查看全部的需求,在get_cate_id接口runturn之前,加array_unshift($list,['id'=>0,'name'=>'全部分组']);
    //参考https://blog.youkuaiyun.com/qq_37301074/article/details/104499533的第9条隐藏下来筛选的选择选项
    searchList: $.getJSON("cate/get_cate_list"),
    //从url中获取cate_id的值,让下拉筛选框默认选中
    defaultValue:Fast.api.query('cate_id'),
  }

在url中传入参数cate_id=3,cate_id对应的下拉选择框就会默认选中对应值,你以为这样获取列表的时候就按条件筛选了?还不行,可能是框架bug,虽然显示选中了,但请求的时候参数没传给后台。

解决这个问题可在后台控制器进行处理

复制处理筛选条件的方法protected function buildparams()到你的控制器,并在代码中加如如下判断:

$filter = $filter ? $filter : [];

//如果filter中的cate_id为空且url中有cate_id
$id = $this->request->get('cate_id');
if($id && !isset($filter['cate_id'])){
    $filter['cate_id'] = $id;
    $op['cate_id'] = '=';
}
if(isset($filter['cate_id'])&&$filter['cate_id']==0){
    unset($filter['cate_id']);
    unset($op['cate_id']);
}

饶了一大圈终于实现了下拉筛选的默认选中某个值,分享给大家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值