super-eggs / dcat-distpicker
适用于dcat-admin的Distpicker扩展
2.1.3
2022-12-22 15:15 UTC
Requires
- php: >=7.1.0
- dcat/laravel-admin: ~2.0
README
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');
在数据表格中使用
省市区名称回显 (自 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 string
地区编码数据
Distpicker 所使用的地域编码基于国家统计局发布的数据,数据字典为 china_area.json
文件。
鸣谢
衷心感谢以下开源软件、框架等(包括但不限于)
许可协议
在 MIT 许可协议 (MIT) 下许可。