地址组件
基础库 2.67.0.0 开始支持本组件
选择地址组件,默认展示“选择收货地址”。
用户首次点击“选择收货地址”,弹起地址授权弹窗,用户点击“好的,使用已有地址”,弹起地址列表弹窗,用户选中任一地址自动关闭弹窗;用户点击“暂不,新增地址”,弹起新增地址弹窗,用户通过“新增收货地址”按钮,进入新建地址页面。
属性说明
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
bind:authorize | EventHandle | | 否 | 地址授权弹起授权弹窗时触发,开发者可以在此回调完成业务逻辑 | 2.67.0.0 |
bind:change | EventHandle | | 否 | 用户选择地址时、地址信息发生变化时触发 | 2.67.0.0 |
bind:cancel | EventHandle | | 否 | 用户取消选择时触发 | 2.67.0.0 |
bind:error | EventHandle | | 否 | 错误回调,组件发生错误时触发 | 2.67.0.0 |
bind:change 事件对象的 detail
- •object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
value | object | 用户选中的地址数据 | 2.67.0.0 |
- •开发者可以通过 event.detail.value 获取到用户选中的地址数据
- •event.detail.value 数据说明
属性名 | 类型 | 说明 | 最低支持版本 |
addressId | string | 地址 id | 2.67.0.0 |
gender | number | 性别
| 2.67.0.0 |
genderName | string | 性别名称
| 2.67.0.0 |
concatName | string | 联系人名字 | 2.67.0.0 |
concatPhone | string | 联系电话 | 2.67.0.0 |
doorNum | string | 门牌号 | 2.67.0.0 |
locationName | string | 地址名称 | 2.67.0.0 |
provinceCode | string | 省 | 2.67.0.0 |
provinceName | string | 省名称 | 2.67.0.0 |
cityCode | string | 市 | 2.67.0.0 |
cityName | string | 市名称 | 2.67.0.0 |
districtCode | string | 区 | 2.67.0.0 |
districtName | string | 区名称 | 2.67.0.0 |
lode | string | 经度
"gcj02" ,base64 编码后 | 2.67.0.0 |
lade | string | 纬度
"gcj02" ,base64 编码后 | 2.67.0.0 |
bind:error 事件对象的 detail
- •object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
errNo | number | 组件内部错误码 | 2.67.0.0 |
errMsg | string | 组件内部错误信息,如传入属性类型错误等 | 2.67.0.0 |
- •errNo 说明如下:
errNo(错误码) | 含义 |
21600 | 开发者回调 bind:getdefaultaddress 失败 |
21601 | 获取地址列表,服务端错误 |
21600 | 开发者回调 bind:getdefaultaddress 失败 |
21601 | 获取地址列表,服务端错误 |
21602 | Fail to authorize address |
21603 | querying address |
21604 | Fail to query address |
21605 | Fail to change address |
代码示例
示意图
<address-area bind:authorize="addressAuthHandler" bind:change="addressChangeHandler" bind:cancel="cancelHandler" bind:error="addressErrorHandler" > </address-area>
addressAuthHandler (event) { // 授权弹窗展现时触发,建议开发者可在此进行授权前处理 }, addressChangeHandler () { const { value: addressInfo } = event.detail; }, cancelHandler(event) { // 关闭地址弹窗时触发 }, addressErrorHandler(event) { const { errNo , errMsg } = event.detail // do something // errNo(错误码,对应某种具体报错原因) // errMsg(报错信息) },
Bug & Tip
- •开发者可以通过
tt.canIUse("address-area")
判断组件是否可用,当不可用时,建议开发者弹窗提醒用户,提示文案参考:“”