Fastadmin给列表数据绑定添加内容

不同及服务需要收集不同的字段,在服务列表处增加按钮,弹出管理字段列表,单独管理每个服务的字段。如下图,给不同的服务绑定不同表单字段,点击表单按钮弹出页面维护当前服务的字段。

实现代码

//初始化表格处添加按钮
{
    field: 'operate',
    title: __('Operate'),
    table: table,
    //自定义按钮开始
    buttons :[
        {name: 'detail',
            text: '表单',
            title: '表单字段管理',
            icon: 'fa fa-list',
            extend:'data-area=["80%","80%"]',
            classname: 'btn btn-xs btn-primary btn-dialog',
            url: 'field/index?goods_id={id}',
        }
    ],
    //自定义按钮结束
    events: Table.api.events.operate,
    formatter: Table.api.formatter.operate
}


//字段管理列表(弹出页面)处理按钮的传参
            // 初始化表格参数配置
            Table.api.init({
                extend: {
                    index_url: 'field/index' + location.search,
                    //新增开始
                    add_url: 'field/add?goods_id='+Fast.api.query('goods_id'),
                    //新增结束
//字段列表方法内接受按钮传参并筛选
            //获取分谱id
            $wheres['fa_field.product_goods_id'] =  array('=',$this->request->get('goods_id'));
            $list = $this->model
                    ->with(['goods'])
                    ->where($where)
                    ->where($wheres)
                    ->order($sort, $order)
                    ->paginate($limit);


//添加字段方法接收传参并渲染到页面
    /**
     * 添加
     *
     * @return string
     * @throws \think\Exception
     */
    public function add()
    {
        if (false === $this->request->isPost()) {
            //增加代码
            $goods_id = $this->request->get('goods_id');
            $this->view->assign("goods_id", $goods_id);
            //增加结束
            return $this->view->fetch();
        }
        $params = $this->request->post('row/a');
//添加字段页面增加选中
    <div class="form-group">
        <label class="control-label col-xs-12 col-sm-2">{:__('Product_goods_id')}:</label>
        <div class="col-xs-12 col-sm-8">
            <input id="c-product_goods_id" disabled data-rule="required" data-source="product/goods/index" class="form-control selectpage" name="row[product_goods_id]" type="text"value="{$goods_id|htmlentities}">
        </div>
    </div>

添加已上代码就实现了需求。

FastAdmin 是一款基于 Laravel 框架的高效、简洁的后台管理系统模板,它提供了一个强大的管理界面生成工具。在 FastAdmin 中,列表自定义按钮功能允许开发者根据需要,在数据表格添加额外的操作按钮,比如编辑、删除、查看详细信息等。 要创建一个自定义按钮,通常需要以下几个步骤: 1. **在控制器中**: 首先,你需要在相应的 controller 类中处理点击事件,例如 `store`, `update` 或者 `destroy` 等动作的路由。 ```php public function store(Request $request) { // 自定义操作的逻辑... } ``` 2. **在视图中**:在对应的表单模板文件 `.blade.php` 中,使用 `fa-action` 标签来显示按钮,并关联到相应的控制器动作。 ```html <!-- 使用方法一:通过HTML直接引用 --> <button type="button" class="btn btn-sm btn-default fa-action store" data-url="{{ route('your-route') }}">保存</button> <!-- 使用方法二:利用 FA 的 API 动态生成按钮 --> {!! Form::button(trans('admin.save'), [ 'class' => 'btn btn-sm btn-default fa-action', 'data-url' => route('your-route'), 'method' => 'post', // 如果是 POST 请求 ]) !!} ``` 3. **配置路由**:确保你在 `routes/web.php` 或者自定义路由文件中已经为这个新动作添加了路由规则。 4. **样式和事件**:如果需要特定的图标或者其他视觉效果,可以调整 CSS 或者绑定 JavaScript 事件来控制按钮的行为。 记得替换上述示例中的 `'your-route'` 为实际的路由名称。使用这个功能后,管理员可以在后台每个记录旁边看到并执行你的自定义操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值