在控制器form方法中加入下面代码
$form->row(function ($form){
// ... 其他表单,如果不这样写不显示
});
// 三个显示在一行,不需要可以去掉row方法
$form->row(function ($form){
// 省份
$form->width(4)->select('province_id')->options(Region::where('parent_id','')->get()->pluck('name', 'id'))->rules('required')->load('city_id', '/api/city');
// 城市
$form->width(4)->select('city_id')->load('district_id', '/api/city');
// 区域
$form->width(4)->select('district_id');
});
建立城市数据的控制器,通过api获取
public function city(Request $request)
{
$provinceId = $request->get('q');
return RegionModel::where('parent_id', $provinceId)->get(['id', 'name as text']);
}
添加路由,直接在admin的routes.php添加
$router->prefix('api')->group(function ($router) {
$router->get('city', 'RegionController@city');
});
最终效果