fastadmin,前端根据条件判断是否显示某一列

后台管理有个模块,要根据登录的管理员来判断是否展示某一列,比如操作那一列。从官网了解到visible 可以对 列进行隐藏和展示 即

{field: 'name', title: __('姓名'),operate: false,
    visible:fasle,
}

条件的判断是个问题,本来看官网,可以写为 函数形式,即

visible:function(row){
    if(row.status==1){
        return false;
    } else {
        return true;
    }
}

但是无法实现,因为 visible 不支持函数。

最后还是从后端传值到前端,,前端直接 赋值变量 等于 false 或者 true 来实现。注意,fastadmin 传值,不能用

$this->assign("status","$status);

而应该用

$this->assignconfig("status",$status);

js 内接值 则是

Config.status

最后 贴一下这部分完整代码

后端

   if($userid == "1") {
       $this->assignconfig("status",0);
   } else {
        $this->assignconfig(status",1);
   }

前端
    接值
    var look_status = Config.status;

    渲染
    {field: 'name', title: __('名字'),operate: false,
        visible:look_status,
    },

 其实 visible 后面,直接跟 config.status 就可以了,改了几个小时,实在不想再动了。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您想要实现FastAdmin中的随着搜索条件变化而变化,可以使用FastAdmin自带的表组件和搜索组件来实现。具体来说,您可以在表的`controller`文件中根据搜索条件动态生成,并在视图文件中显示出来。 以下是一个简单的示例代码,可以帮助您实现这个功能: 1. 在表的`controller`文件中,根据搜索条件动态生成: ```php public function index() { // 获取搜索条件 $keyword = $this->request->get('keyword'); $status = $this->request->get('status'); // 根据搜索条件动态生成 $columns = [ ['field' => 'id', 'title' => 'ID'], ['field' => 'title', 'title' => '标题'], ]; if ($keyword) { $columns[] = ['field' => 'keyword', 'title' => '关键字']; } if ($status) { $columns[] = ['field' => 'status', 'title' => '状态']; } // 查询数据 $list = Db::name('table_name')->where(...)->paginate(); // 渲染视图 return $this->view->fetch('index', [ 'list' => $list, 'columns' => $columns, ]); } ``` 在这个示例中,我们在`index`方法中获取了搜索条件,并根据搜索条件动态生成了。具体来说,我们使用了`$columns`数组来存储所有的,然后根据搜索条件判断是否需要添加额外的。 2. 在视图文件中显示动态生成的: ```html <table class="table table-hover"> <thead> <tr> <?php foreach ($columns as $column): ?> <th><?php echo $column['title']; ?></th> <?php endforeach; ?> </tr> </thead> <tbody> <?php foreach ($list as $item): ?> <tr> <?php foreach ($columns as $column): ?> <?php if ($column['field'] == 'id'): ?> <td><?php echo $item['id']; ?></td> <?php elseif ($column['field'] == 'title'): ?> <td><?php echo $item['title']; ?></td> <?php elseif ($column['field'] == 'keyword'): ?> <td><?php echo $item['keyword']; ?></td> <?php elseif ($column['field'] == 'status'): ?> <td><?php echo $item['status']; ?></td> <?php endif; ?> <?php endforeach; ?> </tr> <?php endforeach; ?> </tbody> </table> ``` 在这个示例中,我们使用了`$columns`数组来动态生成表格的,并在视图文件中使用循环来显示这些。具体来说,我们在`<thead>`标签中循环输出所有的标题,在`<tbody>`标签中循环输出所有的数据,并根据的`field`属性来输出对应的数据。 请注意,这只是一个简单的示例代码,您可能需要根据您的具体需求进行修改和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值