Distpicker 是一个中国省市区三级联动选择组件,这个包是基于 Distpicker 的 dcat-admin
扩展,用来将 Distpicker 集成进 dcat-admin的表单中。如果此插件给你带来的帮助,麻烦给我一个 star。如果在使用过程中发现地区不完整的情况,欢迎随时反馈给我。
- php >= 7.4
- laravel >= v8.0.0
- dcat-admin >= v2.2.0
首先
# jqhph/dcat-admin 1.x
composer require "super-eggs/dcat-distpicker:^1.0"
# jqhph/dcat-admin 2.x
composer require "super-eggs/dcat-distpicker:^2.0"然后: (dcat-admin 2.x 无需执行!!!)
php artisan admin:import dcat-distpicker后台开启
比如在表中有三个字段province_id, city_id, district_id, 在form表单中使用它:
$form->distpicker(['province_id', 'city_id', 'district_id']);设置默认值
$form->distpicker([
'province_id' => '省份',
'city_id' => '市',
'district_id' => '区'
], '地域选择')->default([
'province' => 130000,
'city' => 130200,
'district' => 130203,
]);可以设置每个字段的placeholder
// 省、市、区
$form->distpicker([
'province_id' => '省',
'city_id' => '市',
'district_id' => '区'
]);
// 省、市 (Available in v2.1.0+)
$form->distpicker([
'province_id' => '省',
'city_id' => '市',
]);
// 只显示省 (Available in v2.1.0+)
$form->distpicker([
'province_id' => '省',
]);设置label
$form->distpicker(['province_id', 'city_id', 'district_id'], '请选择区域');设置自动选择, 可以设置1,2,3 表示自动选择到第几级
$form->distpicker(['province_id', 'city_id', 'district_id'])->autoselect(1);$filter->distpicker('province_id', 'city_id', 'district_id', '地域选择');筛选同样支持多级选择:
// 省、市 (Available in v2.1.0+)
$filter->distpicker('province_id', 'city_id','', '地域选择');
//or
$filter->distpicker('province_id', 'city_id');
// 只显示省 (Available in v2.1.0+)
$filter->distpicker('province_id','','', '地域选择');
//or
$filter->distpicker('province_id');省市区名称回显 (Available in v2.1.0+):
$grid->column('province_id')->distpicker();
$grid->column('city_id')->distpicker();
$grid->column('district_id')->distpicker();并且提供了一个全局可用的辅助函数:
use SuperEggs\DcatDistpicker\DcatDistpickerHelper;
DcatDistpickerHelper::getAreaName($code); // return stringDistpicker 所使用的地域编码是基于国家统计局发布的数据, 数据字典为china_area.json文件.
由衷感谢以下开源软件、框架等(包括但不限于)
licensed under The MIT License (MIT).


