Skip to content

基础使用

通过 :values 绑定省市区选中项的下标,默认为 [0, 0, 0],组件弹出是会默认显示该组下标对应的数据。
由于 region.json 文件有点大,所以没内置到此组件中,建议自行引入 hi-region-data 文件。
该组件有两种设置省市区数据的方式:

一:通过 region 属性设置数据

通过此种方式设置的省市区数据,该数据应该是一个有 3 级结构的数组,其中第一级为省,第二级为市,第三级为区。
通过此种方式可以一次性设置省市区数据。
示例:

js
[
    {
        name: "北京市",
        code: "110000",
        children: [
            {
                name: "北京市",
                code: "110100000000",
                children: [
                    {
                        name: "东城区",
                        code: "110101000000",
                    },
                    {
                        name: "西城区",
                        code: "110102000000",
                    },
                    {
                        name: "朝阳区",
                        code: "110105000000",
                    },
                    {
                        name: "丰台区",
                        code: "110106000000",
                    },
                    {
                        name: "石景山区",
                        code: "110107000000",
                    },
                    {
                        name: "海淀区",
                        code: "110108000000",
                    },
                    {
                        name: "门头沟区",
                        code: "110109000000",
                    },
                    {
                        name: "房山区",
                        code: "110111000000",
                    },
                    {
                        name: "通州区",
                        code: "110112000000",
                    },
                    {
                        name: "顺义区",
                        code: "110113000000",
                    },
                    {
                        name: "昌平区",
                        code: "110114000000",
                    },
                    {
                        name: "大兴区",
                        code: "110115000000",
                    },
                    {
                        name: "怀柔区",
                        code: "110116000000",
                    },
                    {
                        name: "平谷区",
                        code: "110117000000",
                    },
                    {
                        name: "密云区",
                        code: "110118000000",
                    },
                    {
                        name: "延庆区",
                        code: "110119000000",
                    },
                ],
            },
        ],
    },
];
vue
<hi-region-picker
    :region="region"
    :values="values"
    title="选择地区"
    :show="isShow"
    @close="isShow = false"
    @confirm="isShow = false"
    @change="handleRegionChange"
></hi-region-picker>

二:通过 provincescitiesareas 属性设置数据

通过此种方式可以单独设置省市区数据,通过 provincescitiesareas 属性设置数据。
通过此种方式可以通过请求接口异步设置省、市、区数据。

vue
<hi-region-picker
    :provinces="provinces"
    :cities="cities"
    :areas="areas"
    :values="values"
    title="选择地区"
    :show="isShow"
    @close="isShow = false"
    @confirm="isShow = false"
    @changeProvince="handleChangeProvince"
    @changeCity="handleChangeCity"
    @changeArea="handleChangeArea"
    :loading="loading"
></hi-region-picker>

Props

参数说明类型默认值可选值
show显示状态Booleanfale-
values绑定数据Array[0, 0, 0]-
region省市区完整数据Arrayundefined-
provinces省份数据Array[]-
cities城市数据Array[]-
areas地区数据Array[]-
keyName显示字段的属性名Stringname-
itemHeight列表项的高度String50px-
closeOnClickOverlay点击遮罩是否关闭Booleantrue-
loading是否显示 loadingBooleanfalse-
title标题String--
returnZero切换后是否右侧子项下标归零Booleanfalse-

Events

事件名说明回调参数
@change当滚动选择,value 改变时触发 change 事件indexes: 数组,表示当前选中的值的下标。 region: {province: Object, city: Object, county: Object}
@changeProvince省份切换后触发index: 切换后的省份下标。province: Object - 切换后的省份数据
@changeCity城市切换后触发index: 切换后的城市下标。city: Object - 切换后的城市数据
@changeArea地区切换后触发index: 切换后的地区下标。area: Object - 切换后的地区数据
@close关闭事件-
@confirm确认事件indexes: 数组,表示当前选中的值的下标。region: {province: Object, city: Object, county: Object}