Files
xiaokuaisong-paotui/distribution/uni_modules/sh-address/readme.md
2025-08-18 09:57:10 +08:00

93 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 功能介绍
- 多端支持 小程序h5, app
- 多种双向绑定(区域编码,区域名称)
- 支持返回区域编码、区域名称
- 支持加载自定义地址json内容
# 使用方法
1. 点击右上角的 `使用 HBuilder X 导入插件` 按钮直接导入项目或点击 `下载插件 ZIP` 按钮下载插件包并解压到项目的 `uni_modules` 目录下
2. 在需要用到该组件的页面中添加
```vue
<template>
<sh-address @change="change" v-model="data"> </sh-address>
</template>
<script>
export default {
data() {
return {
data: ['四川省', '成都市', '青羊区']
}
}
methods: {
change(addressInfo) {
console.log('选择了--->', addressInfo)
}
}
}
</script>
```
```vue
<!-- 自定义加载json文件 -->
<!-- 注意: 使用loadJson时 请注释源码中utils文件夹下的address.json文件 并删除源码中注释可删除的位置 以减小代码体积 -->
<template>
<sh-address :loadJson="loadAddress" @change="change" v-model="data"> </sh-address>
</template>
<script>
export default {
data() {
return {
data: ['四川省', '成都市', '青羊区']
}
}
methods: {
change(addressInfo) {
console.log('选择了--->', addressInfo)
},
loadAddress() {
// 模拟异步加载json数据
return new Promise(resolve => {
setTimeout(() => {
resolve(address)
}, 4000);
})
}
}
}
</script>
```
# 组件属性
| 属性名 | 类型 | 默认值 | 描述 |
| ------------------ | ------- | ------- | ------------------------------------------------------------ |
| modelValue/v-model | Array | [] | 双向绑定一个数组从下标0开始分别填写省、市、区名称 |
| v-model:codeValue | Array | [] | 双向绑定一个数组从下标0开始分别填写省、市、区编码注意同时绑定modelValue时此属性会依照modelValue来更新所选择的内容此时v-model:codeValue双向绑定仍然生效 |
| disabled | Boolean | false | 是否禁用(快手小程序不支持) |
| selectIndex | Array | [0,0,0] | selectIndex每一项的值表示选择了 range 对应项中的第几个(下标从 0 开始) |
| loadJson | () => Promise<JsonAddress> | | 加载自定义json需要传入一个返回Promise的函数JsonAddress类型参考下表 |
# JsonAddress类型
| 属性| 类型 | 必填 |
| -- | -- | -- |
| code | String | 是 |
| name | String | 是 |
| child | Array<JsonAddress> | 是 |
# 事件
| 事件名称 | 类型 | 描述 |
| ------------ | ----------- | ------------------------------------------------------------ |
| cancel | EventHandle | 用户点击取消时回调 |
| change | EventHandle | 用户点击确认按钮触发该事件event = {areaCode: string,area: string,cityCode: string,provinceCode: string,province: string,city: string} |
| columnchange | EventHandle | 某一列的值改变时触发 columnchange 事件event = {column: number, value: number}column 的值表示改变了第几列下标从0开始value 的值表示变更值的下标 |