dactadmin中动态表单不生效

1. 运行环境

1). 当前使用的 Laravel 版本?

10.48.4

2). 当前使用的 php/php-fpm 版本?

PHP 版本:8.1.27

php-fpm 版本:8.1

3). 当前系统

docker 容器 Ubuntu 22.4

4). 业务环境

开发

5). 相关软件版本

dact-admin 2.2.2

2. 问题描述?

通过radio选择框调用when函数只能显示第一个when中的表单项,其余项不在页面中

尝试过dact-admin版本降级至2.0.*,也尝试过升级至2.2.3,重新发布前端静态文件后仍然是原来的效果

protected function form()
{
  return Form::make(AccountGroup::with(['wallet','twitter','facebook','ip','discord']), function (Form $form) {

$form->display('id');

$form->tab('DC',function (Form $form){
  $form->radio('mode','登陆方式')
  ->options([
      1=>'账号登陆',
      2=>'token登陆'
])
  ->when([1],function (Form $form){
      $form->text('discord.account')->rules(['require','请输入账户']);
      $form->text('discord.password')->rules(['require','请输入密码']);
})
  ->when([2],function (Form $form){
      $form->text('discord.token')->rules(['require','请输入token']);
})
  ->default(2);
}

3. 您期望得到的结果?

dactadmin中动态表单不生效
token登陆项选中也应该有输入框

4. 您实际得到的结果?

dactadmin中动态表单不生效
选择token登陆无输入框

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

dcat所有页面是同步生成的,所以when条件符合的都会生成,只负责控制显示隐藏,你可以看一下页面有没有相关代码

1个月前 评论
讨论数量: 6

使用排除法找到问题。

  • 1.检查js有没有报错。
  • 2.看看相关的js有没有加载
1个月前 评论
smartController (楼主) 1个月前
smartController (楼主) 1个月前

dcat所有页面是同步生成的,所以when条件符合的都会生成,只负责控制显示隐藏,你可以看一下页面有没有相关代码

1个月前 评论
Mutoulee

我记得好像之前有人反馈过,tab下的when有这个问题 :flushed:

1个月前 评论
smartController (楼主) 1个月前

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