my.choosedistrict(object object)
基础库 或更高版本, 且 支付宝客户端 10.2.0 或更高版本。 若版本较低,建议采取 兼容处理。
主体: 企业支付宝小程序 、 个人支付宝小程序
my.choosedistrict 地区选择器。
地区选择器默认内置境内外及港澳台城市数据,也可自定义城市数据,并可通过在数据中指定 sublist 支持级联选择。
object object
查看示例
属性 | 类型 | 默认值 | 必填 | 描述 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
mode | number | 0 | 否 | 指定地区模式。 | |||||||||||||
| |||||||||||||||||
src | string | - | 否 | 自定义数据文件地址。 自定义数据量大时,建议将数据文件内置在小程序内。文件内参数格式同接口定义,详细可以看 src 模式。 注意:src 模式优先级最高,指定 src,只读取 src 内的数据。 | |||||||||||||
maintitle | string | - | 否 | 境内 tab 自定义标题。 | |||||||||||||
mainheadlist | array | - | 否 | 头部自定义对象数组。如定位区块、热门城市区块。对象值可查看下方 headmodel。 | |||||||||||||
mainnormallist | array | - | 否 | 底部城市列表。 数组元素格式请参考 itemmodel。未指定此参数时,默认使用内置的境内城市列表。 | |||||||||||||
mainmergeoptions | object | - | 否 | 数据合并选项,用于在内置数据的基础上进行调整。 传值方式为 {`key`: `value`} 。其中 key 是需要修改的城市的 adcode, value 是展示的城市名。仅在 mainnormallist 为空时生效。value 为空代表删除对应 adcode 的城市;value 不为空代表更新对应 adcode 的城市。 | |||||||||||||
seniortitle | string | - | 否 | 境外 tab 自定义标题。 | |||||||||||||
seniorpagelist | array | - | 否 | 境外多 tab 数据集合,数组元素格式请参考 pagemodel。未指定此参数时,默认使用内置的境外城市列表。 | |||||||||||||
success | function | - | 否 | 调用成功的回调函数。 | |||||||||||||
fail | function | - | 否 | 调用失败的回调函数。 | |||||||||||||
complete | function | - | 否 | 调用结束的回调函数(调用成功、失败都会执行)。 |
headmodel
属性 | 类型 | 默认值 | 必填 | 描述 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
title | string | - | 否 | 区块名,如“热门城市”。 | |||||||||||||
type | number | - | 否 | 模块类型。 | |||||||||||||
| |||||||||||||||||
list | array | - | 否 | 区块城市列表。不支持嵌套。对象值可查看 itemmodel。 |
itemmodel
属性 | 类型 | 默认值 | 必填 | 描述 |
---|---|---|---|---|
name | string | - | 是 | 城市名。 |
adcode | string | - | 是 | 行政区划代码。不同行政区域对应的代码可查看 。 |
spell | string | - | 否 | 城市名对应拼音拼写,方便用户检索。 |
appendname | string | - | 否 | 子标题。 |
ext | string | - | 否 | 额外信息。 |
sublist | array | - | 否 | 支持级联,自定义次级城市列表,列表内对象字段可查看 itemmodel。 |
pagemodel
属性 | 类型 | 默认值 | 必填 | 描述 |
---|---|---|---|---|
title | string | - | 是 | 境外左侧 tab 名称,不带左侧 tab 时可不填。 |
headlist | array | - | 否 | 头部对象集合,不支持嵌套,对象值可查看 headmodel。 |
normallist | array | - | 否 | 城市列表,对象值可查看 itemmodel。 |
success 回调函数
参数
object res
查看示例
属性 | 类型 | 描述 |
---|---|---|
name | string | 城市名称。 |
adcode | string | 城市编码。 |
ext | string | 自定义扩展字段透传。 |
fail 回调的参数为 object,error
属性为错误码,errormessage
属性为错误消息。
错误码 | 错误消息 | 凯发app官方网站的解决方案 |
---|---|---|
11 | 用户取消操作 | 用户取消选择,无需特殊处理。 |
代码示例
扫码体验
my.choosedistrict(object object)
src 模式
success 参数
fail 参数
my.choosedistrict({
mode: 2,
maintitle: '境内',
mainheadlist: [
{
title: '定位模块',
type: 1,
},
{
title: '热门城市',
list: [
{ name:"杭州", adcode:"330100" },
{ name:"北京", adcode:"110100" },
{ name:"上海", adcode:"310100" },
{ name:"广州", adcode:"440100" },
{ name:"深圳", adcode:"440300" }
],
},
],
mainnormallist: [
{
name: '北京市',
adcode: '110100',
appendname: '北京',
sublist: [
{ name:"昌平区", adcode:"110114" },
{ name:"朝阳区", adcode:"110105" },
{ name:"大兴区", adcode:"110115" },
{ name:"东城区", adcode:"110101" },
{ name:"房山区", adcode:"110111" },
{ name:"丰台区", adcode:"110106" },
{ name:"海淀区", adcode:"110108" },
{ name:"怀柔区", adcode:"110116" },
{ name:"门头沟区", adcode:"110109" },
{ name:"密云区", adcode:"110118" },
{ name:"平谷区", adcode:"110117" },
{ name:"石景山区", adcode:"110107" },
{ name:"顺义区", adcode:"110113" },
{ name:"通州区", adcode:"110112" },
{ name:"西城区", adcode:"110102" },
{ name:"延庆区", adcode:"110119" }
],
},
],
// 境外
seniortitle: '境外/港澳台',
seniorpagelist: [
{
title: '亚洲',
headlist: [
{
title: '热门城市列表',
list: [
{ name: '东京', adcode: '39200037000000000000' },
],
},
],
normallist: [
{ name: '喀布尔', adcode: '00400003000100000000' },
{ name: '迪拜', adcode: '78400003000300000000' },
],
},
{
title: '大洋洲',
normallist: [
{ name: '堪培拉', adcode: '03600001000100000000' },
{ name: '斐济', adcode: '24200001000100000000' },
],
},
],
success: (res) => {
console.log(res);
},
fail: (err) => {
console.log(err);
}
});
choosedistrict.json
mini.project.json
my.choosedistrict
// 文件路径:${app.json 所在目录}/data/choosedistrict.json
{
"mode": 2,
"mainheadlist": [
{
"title": "定位模块",
"type": 1
}
],
"mainmergeoptions": {
"371200": "",
"542400": "",
"540600": "那曲",
"659010": "胡杨河市",
"123456": "测试"
}
}
// 需要在 mini.project.json 中配置文件路径,否则无法使用。
{
"include": ["/data/*.json"]
}
// 调用 my.choosedistrict 时,将包文件路径作为 src 参数传入。
my.choosedistrict({
// src 模式优先级最高,指定 src,只读取 src 内的数据
src: "/data/choosedistrict.json",
success: res => {
console.log(res);
},
fail: (err) => {
console.log(err);
}
})
对于入参数据量较大的场景,可将 my.choosedistrict 的入参作为 json 文件添加到小程序项目中。
{
"adcode": "330100",
"ext": "测试数据",
"name": "杭州"
}
{
"error": 11,
"errormessage": "用户取消操作"
}
