Fastadmin中,控制器如何给动态下拉(SelectPage)的data-source参数传值?

在FastAdmin中,控制器可以通过渲染模板时,为SelectPage控件的data-source参数提供动态的JSON数据源,从而实现动态下拉菜单选项的传递和渲染。通常,需要执行以下步骤:

1.在控制器中定义一个变量,用于存储SelectPage控件需要显示的下拉菜单选项数据。

// application/admin/controller/Test.php
namespace app\admin\controller;

use app\admin\model\Test as TestModel;
use think\Db;

class Test extends Base
{
    // 动态数据源
    public function dynamicSelect()
    {
        $options = Db::name('zz_category')->field(['id', 'name'])->order('id')->select();

        $jsonOptions = json_encode($options);

        $this->assign('jsonOptions', $jsonOptions);
        return $this->view->fetch();
    }
}

在上述代码中,查询zz_category表中的分类数据,并将结果赋值给 o p t i o n s 变量,然后通过 j s o n e n c o d e 函数将其转换成 J S O N 格式,存储到 options变量,然后通过json_encode函数将其转换成JSON格式,存储到 options变量,然后通过jsonencode函数将其转换成JSON格式,存储到jsonOptions变量中,用于后续的参数传递。

2.在前端页面中,传递控制器中的JSON格式数据源到SelectPage控件的data-source参数中。

<!-- application/admin/view/test/dynamic_select.html -->
{% extends "layout/default.html" %}

{% block content %}
    <form class="search-form clearfix">
        <input type="text" name="keyword" value="" placeholder="请输入关键词">
        <span class="input-group-btn">
            <button class="btn btn-default" type="submit">搜索</button>
        </span>
    </form>
    <form class="form-horizontal">
        <div class="form-group">
            <label class="col-xs-2 control-label">下拉框</label>
            <div class="col-xs-5">
                <input type="text" name="category_name" value="" placeholder="请选择分类" class="form-control selectpage" data-source="{{ jsonOptions }}">
            </div>
        </div>
    </form>
{% endblock %}

{% block script %}
    <script>
        $(function () {
            $('.selectpage').selectPage({
                showField: 'name',
                keyField: 'id',
                url: '',
                data: {},
                pageSize: 10,
                orderBy: '',
                orderDir: '',
                ajaxOptions: {}
            });
        });
    </script>
{% endblock %}

在上述代码中,通过data-source参数传递控制器中生成的JSON格式数据源到SelectPage控件中。控制器中定义的jsonOptions变量通过模板引擎传递到前端页面中,然后在SelectPage控件的data-source参数中引用。

通过以上步骤,就可以在FastAdmin中控制器给动态下拉(SelectPage)的data-source参数传值了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Design JBY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值