最新公告
  • 欢迎您光临源码资源下载站,一个优质的网站源码和小程序源码分享基地。
  • 关于fastadmin中SelectPage的一些见解

    正文概述 建站知识   2023-12-15 21:22:03  
    一、普通筛选
    1.筛选莫个字段等于多少
    js复制代码data-params='{"custom[status]":"normal","custom[type]":"1"}'
    2.筛选莫个字段多条判断
    js复制代码data-params='{"custom[status][0]":"2","custom[status][1]":"1"}'
    二、联动筛选
    注:需要在自己对应的js里面加在api里面bindevent方法里面
    1.筛选当下面数据的值需要根据上面筛选的值做判断时
    js复制代码$("#c-subject_child_id").data("params", function (obj) {
       return {custom: {pid : $("#c-subject_priend_id").val(),status : 1}};
    });
    1.如果有一些很难的条件建议写sql,这里需要自己更改代码 (有其它更好方法的大佬请不要喷我嘿嘿)
    第一步:在 appcommoncontrollerBackend 控制器中 selectpage方法中修改
     这是源代码:
    js复制代码if ($custom && is_array($custom)) {
        foreach ($custom as $k => $v) {
            if (is_array($v) && 2 == count($v)) {
                $query->where($k, trim($v[0]), $v[1]);
            }else{
                $query->where($k, '=', $v);
            }
        }
    }
     这是我改的代码:
    bash复制代码if ($custom && is_array($custom)) {
        foreach ($custom as $k => $v) {
            if (is_array($v) && 2 == count($v)) {
                $query->where($k, trim($v[0]), $v[1]);
            } elseif($k == 'where') { //如果前端传where的话,就写原生sql
                $query->where($v);
            }else{
                $query->where($k, '=', $v);
            }
        }
    }
    然后在对应的js中直接写原生sql
    javascript复制代码$("#c-school_ids").data("params", function (obj) {
        var subject_id = $("#c-subject_priend_id").val();
        if(subject_id){
            return {custom : { where :`FIND_IN_SET(${subject_id},subject_ids) AND status = 1`}};
        }
    });
    以上应该就能实现很多情况的筛选的,还有一个自定义显示数据格式,就需要自己去
    fastadmin文档查看了
    https://doc.fastadmin.net/doc/178.html 关于fastadmin中SelectPage的一些见解
    皓玉源码网,一个优质的源码资源平台!
    皓玉源码网 » 关于fastadmin中SelectPage的一些见解