XAddress 组件使用教程
优质
小牛编辑
137浏览
2023-12-01
安装
import { XAddress } from 'vux'
export default {
components: {
XAddress
}
}
// 在入口文件全局引入
import Vue from 'vue'
import { XAddress } from 'vux'
Vue.component('x-address', XAddress)
<group>
<x-address title="title" v-model="value"></x-address>
</group>
import { XAddress } from 'vux'
// 如果你需要引入数据,如果你的版本低于 v2.2.0,请使用 ChinaAddressData
import { XAddress, ChinaAddressV4Data } from 'vux'
// 如果需要引入旧版数据
import { XAddress, ChinaAddressV2Data } from 'vux'
如果你需要单独引入地址数据,可以在源码src/datas找到。
设计上 x-address
只能在 Group
中使用。但是你依然可以不在 Group
中使用,使用 display:none
隐藏然后用 :show.sync 来控制组件显示状态。
<x-address style="display:none;" title="title" v-model="value" :list="addressData" placeholder="请选择地址" :show.sync="showAddress"></x-address>
v4 和 v3 的区别是在 v4 里重庆多了县列表。
从 `2.1.1-rc.12` 开始,`直辖区`做了简化,原来是 北京市-北京市市辖区-东城区,现在是 北京市-市辖区-东城区。组件内部做了兼容,你以`raw-value`方式传入两种写法表现和旧版本一致,不会出错。
从 `2.1.1-rc.15` 开始,数据必须指定版本,原来的 `ChinaAddressData` 废弃并停留在 `v2` 版本不再更新。
不同版本数据差异可以从[这里](https://github.com/airyland/china-area-data)找到。
属性
名字 | 类型 | 默认值 | 说明 | 版本要求 |
raw-value | boolean | false | 指定初始化时绑定的数据是否为文本(即省市名,而不是id)类型,即对于非id值组件内部会转换为id。如果是异步设置value,只能使用id赋值。 | -- |
title | string | 表单标题 | -- | |
value | array | 表单值, 使用v-model 绑定 | -- | |
list | array | 地址列表, 可以引入内置地址数据或者用自己的数据,但是需要按照一致的数据结构。 | -- | |
inline-desc | string | 标题下的描述 | -- | |
placeholder | string | 没有值时的提示文字 | -- | |
hide-district | boolean | false | 是否隐藏区,即只显示省份和城市 | -- |
value-text-align | string | right | value 对齐方式(text-align), v2.1.0-rc.49 开始支持 | -- |
popup-style | object | 弹窗样式,可以用于强制指定 z-index | v2.5.2 | |
show | boolean | 显示 (支持.sync修饰 next) | v2.5.8 | |
disabled | boolean | 是否禁用选择 | v2.9.0 |
事件
名字 | 参数 | 说明 | 版本要求 |
@on-hide | -- | 关闭后触发,当非确定时,参数为false,反之为true | -- |
@on-show | -- | 显示时触发 | -- |
@on-shadow-change | (Array ids, Array names) | picker 值变化时触发,即滑动 picker 时触发 | v2.5.6 |
插槽
名字 | 说明 | 版本要求 |
title | title 插槽,可以使用它来添加 icon 等自定义样式,受控于 group 需要从 scope 里继承 class 和 样式 | v2.3.8 |