Distpicker是一个中国省市区三级联动选择组件,这个包是基于Distpicker
的dcat-admin
扩展,用来将Distpicker
集成进dcat-admin
的表单中.
此扩展参考与引用:
-
spakinzy/distpicker :个人定制版distpicker,方便个人使用,dcat-distpicker 使用此库spakinzy/distpicker
1、安装
composer require sparkinzy/dcat-distpicker
2、Dcat 后台发布资源
3、dcat-distpicker 使用方式
4、呈现效果
比如在表中有三个字段province_name
, city_name
, district_name
, 在form表单中使用它:
$form->distpicker(['province_name', 'city_name', 'district_name']);
设置默认值
$form->distpicker([
'province_name' => '省份',
'city_name' => '市',
'district_name' => '区'
], '地域选择')->default([
'province' => '黑龙江省',
'city' => '双鸭山市',
'district' => '四方台区',
])->select2();
设置返回值类型
默认 name,可修改返回类型为code,但目前不推荐
$form->distpicker([
'province_name' => '省份',
'city_name' => '市',
'district_name' => '区'
], '地域选择')->type('code');
可以设置每个字段的placeholder
$form->distpicker([
'province_name' => '省',
'city_name' => '市',
'district_name' => '区'
]);
设置label
$form->distpicker(['province_name', 'city_name', 'district_name'], '请选择区域');
设置自动选择, 可以设置1,2,3 表示自动选择到第几级
$form->distpicker(['province_name', 'city_name', 'district_name'])->autoselect(1);
启用select2进行渲染
$form->distpicker(['province_name', 'city_name', 'district_name']))->select2();
默认展开 省 市 区
# province_name 为字段名
$filter->distpicker(['province_name', 'city_name', 'district_name'], '地域选择');
只展示 省
$filter->distpicker(['province_name', 'city_name', 'district_name'], '地域选择')
->level();
展示 省 市
$filter->distpicker(['province_name', 'city_name', 'district_name'], '地域选择')
->level(2);
使用code筛选
$filter->distpicker(['province_name', 'city_name', 'district_name'], '地域选择')->type('code');
# 只进行省市筛选
$filter->distpicker(['province_name', 'city_name', 'district_name'], '地域选择')->level(2)->type('code');
Distpicker所使用的地域编码是基于国家统计局发布的数据, 数据字典为china_areas.sql
文件.
- 可以自定义是否返回code或者name
- Grid filter扩展
- 数据库文件