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 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

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

1年前 评论
讨论数量: 7
Dcatplus-杨光

使用排除法找到问题。

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

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

1年前 评论
Mutoulee

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

1年前 评论
smartController (楼主) 1年前

我也遇到了 同样的问题 还没解决

9个月前 评论