jqhph / dcat-admin

🔥 基于 Laravel 的后台系统构建工具 (Laravel Admin),使用很少的代码快速构建一个功能完善的高颜值后台系统,内置丰富的后台常用组件,开箱即用,让开发者告别冗杂的HTML代码
http://www.dcatadmin.com
MIT License
3.87k stars 696 forks source link

表单一对多关系中,hasMany中的字段动态显示问题 #1145

Closed LZXprogrammer closed 3 years ago

LZXprogrammer commented 3 years ago

Description:

在表单页新建一个 hasMany 关系表单时,使用字段动态显示是没有问题的,但除了第一个关系表单中的字段动态显示是正常的,之后的关系表单,字段动态显示都不生效了,代码如下:

return Form::make(SimSurveyModel::with('resource'), function (Form $form) {
  // 项目信息
  $form->text('remark', '项目备注');
  // 视频信息
  $form->hasMany('resource', '视频', function (Form\NestedForm $form) use ($survey_id) {
      $form->hidden('survey_id', '项目唯一ID')->value($survey_id);
      $form->image('cover', '视频封面');
      $form->text('description', '视频描述');
      // 字段动态显示
      $form->radio('has_button', '是否显示广告按钮')
          ->when(1, function (Form\NestedForm $form) {
              $form->radio('button_type', '广告按钮类型')
                  ->options(['button' => '红色按钮', 'shopping_cart' => '购物车'])->default('button');
              $form->text('button_text', '广告按钮文字')->default('我要购买');
              $form->url('jump_url', '广告按钮跳转链接');
          })
          ->options([
              0 => '不显示',
              1 => '显示',
          ])
          ->default(0);
  });
});

请问是什么原因呢?

Steps To Reproduce:

LZXprogrammer commented 3 years ago

已经和作者沟通过了,目前是不支持关联数据的字段动态显示,可以自己写 js 实现,有好的写法的可以放在这里,感谢