laravel-admin解决表单select联动时,编辑默认没选上-方案二

laravel-admin解决表单select联动时,编辑默认没选上-方案二

      今天在完成一个功能需求时,再次用上select联动,也是需要解决默认没选上的问题,这一次博主采用的解决办法跟之前的一篇博客中提到的解决办法有点不同,今天也记录分享出来给用户。

      在我们表单中有两个select,代码如下:

#获取传过来的上下级的值
$superiorId = request('superiorId');
$lowerId = request('lowerId);
#获取上级列表值
$radio = array(1=>'A',2=>'B',3=>'C');
#联动第一级
$form->select('superiorId', '上级选项')->options($radio)->load('lowerId', 
'/api/getLower')->default($superiorId);
#联动第二级
$form->select('lowerId', '下级选项')->options(function () {
    $superiorId = request('superiorId');
    //获取当前所属下级选项
    $points = Model::where('id', $superiorId)->get();
    $list = array();
    foreach ($points as $key => $point) {
        $list[$point->id] = $point->name;
    }
    //返回   
    return $list;
})->default($lowerId);

      以上代码,我们给联动的两个select默认设置一个值,这两个值是他们原始的值,然后在第二级的时候,我们先取得第一级的值获取第二级所有的数据并返回,同时设置默认值,这样就选上了。

      这是博主今天发现的第二种方法,虽然有点多,但也是解决了联动没选上,同时又支持选择其他选项,小伙伴们可以试试博主的方法。

0条评论

发表评论