Skip to content

CityPicker

城市选择器模式

组件引用

在项目中引入组件

js
import { RegionCityPicker } from 'v-region'

实例

快速应用

vue
<template>
  <RegionCityPicker
    v-model="selected"
    @change="change"
  />
</template>
<script setup lang="ts">
import { ref } from 'vue'
import { RegionCityPicker } from 'v-region'
import type { RegionItem } from 'v-region'

const selected = ref<string[]>(['110000', '130200', '140100'])
function change (data: RegionItem[]): void {
  console.log(data)
}
</script>

响应数据

v-model values
[
  "110000",
  "130200",
  "140100"
]
change event response results
[
  {
    "key": "110000",
    "value": "北京市"
  },
  {
    "key": "130200",
    "value": "唐山市"
  },
  {
    "key": "140100",
    "value": "太原市"
  }
]

清空/重置

传递一个空数组即可清空选择

js
selected.value = []

折叠项目

在默认情况下,选择超过 2 个城市项目,将会被统一收纳显示,并显示折叠收纳数量

设置 overflow props 为 true 后,选择项目将被完整显示在触发对象中,不再进行折叠

template
<RegionCityPicker
  v-model="selected"
  :overflow="true"
/>

Props

ts
interface CityPickerProps {
  /**
   * 语言
   * @default `cn`
   */
  language?: string
  /**
   * 禁用组件
   * @default false
   */
  disabled?: boolean
  /** 为触发对象添加自定义样式类 */
  customTriggerClass?: string
  /** 为下拉容器添加自定义样式类 */
  customContainerClass?: string
  /** 输入区域编码列表 */
  modelValue?: string[]
  /**
   * 按钮中显示选中城市模式
   * true: 显示所有选中城市名称
   * false: 选中的城市多于两个时,仅显示前两个城市名称,其他城市会被收起
   *
   * @default false
   */
  overflow?: boolean
}

事件

城市选择器组件各类操作响应事件

update:modelValue

响应城市选择变化,响应内容为选择城市的编码值

ts
update:modelValue: (data: string[]) => void

change

响应城市选择变化,响应内容为选择城市的模型

ts
change: (data: RegionItem[]) => void

visible-change

响应下拉栏打开 / 关闭的状态变化

ts
visibleChange: (visible: boolean) => void

Released under the MIT License.