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登陆无输入框

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
最佳答案

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

3周前 评论
讨论数量: 6

使用排除法找到问题。

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

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

3周前 评论
Mutoulee

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

3周前 评论
smartController (楼主) 3周前

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