# CascadePickerView **Repository Path**: zonda89/CascadePickerView ## Basic Information - **Project Name**: CascadePickerView - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-25 - **Last Updated**: 2024-10-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CascadePickerView ## 级联选择组件,包括*基础组件*和*城市选择组件* > 目前公开的记录组件基本都有限制,限制选择级别,如很多城市组件只能选择三级:省、市、县 > 本组件不限制级别,可无极显示,只要按照要求组织数据即可 ## 引用方式 ```groovy implementation 'space.tanghy:cascade:0.0.4' ``` ## 基础级联组件 CascadePickerView > 组件提供级别可根据需求设置显示级别 ```kotlin setLevel() ``` > 组件默认到最后一级关闭级联选择框,可通过设置属性不关闭 ```kotlin lastItemCloseDialog = false ``` ## 数据格式 ````json [ { "value": "11", "name": "北京市", "children": [{ "value": "1101", "name": "朝阳", "children": [ ] }] } ] ```` > children属性可无线添加下去 ## setData > 组织好数据可通过setData方法设置数据 ````kotlin val dialog = CascadePickerView( this, mutableListOf( Item( "北京", "北京", mutableListOf( Item("朝阳区", "朝阳区"), Item("东城区", "东城区"), Item("西城区", "西城区"), ) ), Item("天津市", "天津市"), Item("河北省", "河北省"), Item("山西省", "山西省"), Item("内蒙古", "内蒙古"), Item("辽宁省", "辽宁省"), Item("吉林省", "吉林省"), Item("黑龙江省", "黑龙江省"), Item("上海市", "上海市"), ) ) // 或者使用JSON字符串进行设置数据 dialog.setData("[\n" + " {\n" + " \"value\": \"1401\",\n" + " \"name\": \"太原市\"\n" + " },\n" + " {\n" + " \"value\": \"1402\",\n" + " \"name\": \"大同市\"\n" + " },\n" + " {\n" + " \"value\": \"1403\",\n" + " \"name\": \"阳泉市\"\n" + " },\n" + " {\n" + " \"value\": \"1404\",\n" + " \"name\": \"长治市\"\n" + " },\n" + " {\n" + " \"value\": \"1405\",\n" + " \"name\": \"晋城市\"\n" + " },\n" + " {\n" + " \"value\": \"1406\",\n" + " \"name\": \"朔州市\"\n" + " },\n" + " {\n" + " \"value\": \"1407\",\n" + " \"name\": \"晋中市\"\n" + " },\n" + " {\n" + " \"value\": \"1408\",\n" + " \"name\": \"运城市\"\n" + " },\n" + " {\n" + " \"value\": \"1409\",\n" + " \"name\": \"忻州市\"\n" + " },\n" + " {\n" + " \"value\": \"1410\",\n" + " \"name\": \"临汾市\"\n" + " },\n" + " {\n" + " \"value\": \"1411\",\n" + " \"name\": \"吕梁市\"\n" + " }\n" + "]") ```` ## searchChildren 动态指定数据源 > 该方法返回的数据需要跟框架指定的格式一致,数据将动态赋给下一级节点 ## 城市选择器组件 CityPickerView > 行政区划数据是国家统计局发布的区划数据2021版,区划数据需要解析下载后续将更新区划升级api > 国家统计局区划地址:http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2021/index.html > 行政区划数据量:61万多 ### 城市级别 - 省级 - 市级 - 县级 - 乡镇级 - 村级 ### 实例 ```kotlin val dialog = CityPickerView(this) dialog.lastItemCloseDialog = false dialog.show() ``` 图片2 图片2 图片2 ## 0.0.3版本 - 更新行政区划数据到村(后续可能考虑删除,村一级数据过大导致打包、上传或者使用都不方便) - 更新级联选择组件可传入json字符串为数据 - 区划数据已经拆分,有需要原数据的可以留言。