dcat admin 内嵌 (embeds)之下无法正确使用下拉框联动求解决方案

1. 运行环境

1). 当前使用的 Laravel 版本

Laravel 版本:8.83.27, dcat admin版本:2.2.2-beta

2). 当前使用的 php 版本

PHP 版本:7.4.33

3). 当前系统

MacOS

4). 业务环境

开发环境

2. 问题描述?

我这边想用内嵌 (embeds)实现位置数据的拼接(json)

{"location": {"province": 1, "city": 2}}

我的代码如下:

$form->embeds('location', function (Form\EmbeddedForm $form){
    $form->select('province')->options('/city-list/provinces')
        ->load('city', '/city-list/city');
    $form->select('city');
})->saveAsJson();

我就是想通过下拉选框联动获取city表单的options,通过load已经正确获取到api里面的options数据了,就是没有绑定到

$form->select('city');

的options数据里面。
如果不使用embesd的话正常联动。

3. 您期望得到的结果?

dcat admin 内嵌 (embeds)之下无法正确使用下拉框联动求解决方案

4. 您实际得到的结果?

dcat admin 内嵌 (embeds)之下无法正确使用下拉框联动求解决方案

谢谢各位大佬~~

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案
$form->select('column.location.province')->options('/city-list/provinces')
    ->load('column.location.city', '/city-list/city');

可以尝试下这种写法?我猜测有可能是EmbeddedForm不支持load。我就是卡在EmbeddedForm的联动表单里(PS:EmbeddedForm不能使用when进行表单联动)。今天使用这种对象指向的方式解决了我的问题。

1年前 评论
ilchin (楼主) 1年前
讨论数量: 7

先看下接口请求数据正常吗?有报错吗

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

这是 /city-list/provinces 接口返回的数据

file

这是/city-list/city接口返回的数据

file

1年前 评论
$form->embeds('location', function (Form\EmbeddedForm $form){
    $form->select('province')->options('/city-list/provinces')
        ->load('city', '/city-list/city'); // 猜测这个 city 没找到对象
    $form->select('city');
})->saveAsJson();
1年前 评论
$form->select('column.location.province')->options('/city-list/provinces')
    ->load('column.location.city', '/city-list/city');

可以尝试下这种写法?我猜测有可能是EmbeddedForm不支持load。我就是卡在EmbeddedForm的联动表单里(PS:EmbeddedForm不能使用when进行表单联动)。今天使用这种对象指向的方式解决了我的问题。

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

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