dcat-admin动态显示表单问题

// 想要实现字段值是一样的有办法吗?

$form->select('type', '表单类型')
                ->options(\App\Models\Config::FORM_TYPE)
                ->when([\App\Models\Config::TEXT], function (Form $form) {
                    $form->text('var_val', '值');
                })
                ->when(\App\Models\Config::TEXTAREA, function (Form $form) {
                    $form->textarea('var_val', '值');
                })
                ->when(\App\Models\Config::FILE, function (Form $form) {
                    $form->image('var_val', '图片');
                })->default(\App\Models\Config::TEXT);
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
Mutoulee
最佳答案

先把自己几个字段分别命名区分开,例如:

// 想要实现字段值是一样的有办法吗?

$form->select('type', '表单类型')
                ->options(\App\Models\Config::FORM_TYPE)
                ->when([\App\Models\Config::TEXT], function (Form $form) {
                    $form->text('var_val1', '值');
                })
                ->when(\App\Models\Config::TEXTAREA, function (Form $form) {
                    $form->textarea('var_val2', '值');
                })
                ->when(\App\Models\Config::FILE, function (Form $form) {
                    $form->image('var_val3', '图片');
                })->default(\App\Models\Config::TEXT);

然后,监听表单事件,例如:

$form->saving(function (Form $form) {
    //需自己判断该用哪个值覆盖 $form->var_val
    $form->var_val = $form->var_val1;
    $form->var_val = $form->var_val2;
    $form->var_val = $form->var_val3;
    // 删除用户提交的数据
    $form->deleteInput('var_val1');
    $form->deleteInput('var_val2');
    $form->deleteInput('var_val3');
});

注:以上代码未经测试

2周前 评论
讨论数量: 4
Mutoulee

没看懂问题是啥

2周前 评论
王大牛 (楼主) 2周前
Mutoulee

先把自己几个字段分别命名区分开,例如:

// 想要实现字段值是一样的有办法吗?

$form->select('type', '表单类型')
                ->options(\App\Models\Config::FORM_TYPE)
                ->when([\App\Models\Config::TEXT], function (Form $form) {
                    $form->text('var_val1', '值');
                })
                ->when(\App\Models\Config::TEXTAREA, function (Form $form) {
                    $form->textarea('var_val2', '值');
                })
                ->when(\App\Models\Config::FILE, function (Form $form) {
                    $form->image('var_val3', '图片');
                })->default(\App\Models\Config::TEXT);

然后,监听表单事件,例如:

$form->saving(function (Form $form) {
    //需自己判断该用哪个值覆盖 $form->var_val
    $form->var_val = $form->var_val1;
    $form->var_val = $form->var_val2;
    $form->var_val = $form->var_val3;
    // 删除用户提交的数据
    $form->deleteInput('var_val1');
    $form->deleteInput('var_val2');
    $form->deleteInput('var_val3');
});

注:以上代码未经测试

2周前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!