Skip to content

PickerCity (城市选择)

自带全国城市数据的Picker选择组件

支持平台

安卓ios鸿蒙web微信小程序

示例代码

html
<template>
	<t-page title="城市选择" main-class="p-30">
		<t-card main-class="mb-30" title="Picker-City 城市选择"
			sub-title="Canvas绘制更高性能 异步渲染不卡页面,自研滚动算法不会在滚动结束的时候回弹"></t-card>
		<t-col main-class="tdr tdb mb 30 tdp">
			<t-text main-class="slh-60">v-model:{{(val.getArray<string>('ids'))?.join('-')}}</t-text>
			<t-text main-class="slh-60">keys:{{(val.getArray<string>('ids'))?.join('-')}}</t-text>
			<t-text main-class="slh-60">values:{{(val.getArray<string>('values'))?.join('-')}}</t-text>
		</t-col>
		<t-section title="基础功能(嵌入模式)" main-class="mb-30"></t-section>
		<t-picker-city main-class="mb-30 tdr tdb" v-model="val" :list="list" :embeddable="true">
		</t-picker-city>
		<t-button type="p" @click="test">双向绑定测试</t-button>
		<t-section title="基础功能(弹窗模式)" type="p" main-class="mb-30"></t-section>
		<t-picker-city main-class="mb-30" :list="list" v-model="val" @change="change">
			<template #button>
				<t-button type="p">请选择您的城市</t-button>
			</template>
		</t-picker-city>
	</t-page>
</template>
<script setup>
	import { TuiApi } from '@/api'
	const val = ref<UTSJSONObject>({ ids: ['130000', '130500', '130502'] })
	const keys = ref<string[]>([])
	const values = ref<string[]>([])
	function test() {
		val.value = { ids: ['150000', '152500', '152522'] } as UTSJSONObject
	}
	const list = ref<UTSJSONObject[]>([] as UTSJSONObject[])
	function change(e : UTSJSONObject) {
		keys.value = e.getArray<string>('ids')!
		values.value = e.getArray<string>('values')!
	}
	function confirm(e : UTSJSONObject) {
		// keys.value = e.keys
		// values.value = e.values
	}
	onLoad((_) => {
		
	})
</script>

属性

名称类型默认值说明可选值
sizeStringmini组件尺寸large(大尺寸), medium(中尺寸), small(小尺寸), mini(迷你)
typeString""组件类型info(信息), primary(正常), error(错误), warning(警告), success(成功)
disabledBooleanfalse组件是否禁用false, true
stopBooleanfalse是否阻止事件冒泡(Tui统一写法处理事件冒泡)false, true
hoverBooleantrue是否有点击效果false, true
pathString""点击组件后跳转的页面路径,如果为空则响应点击事件,如果不为空则跳转页面不会响应单击事件。-
mainClassString""组件根节点的样式-
nativeClassString""组件根节点原生样式-
effectString"normal"组件显示主题normal(正常), dark(深色), light(浅色), plain(镂空)
titleString地区标题
labelClassString``副标题样式
modelValueany{ ids: [] as string[], values: [] as string[] } as UTSJSONObject双向绑定的值
embeddableBooleanfalse是否嵌入页面。默认为弹窗模式
titleClassString``标题样式
listany``城市数据源

事件

名称返回参数说明
cancel-点击取消按钮时触发
change(e : UTSJSONObject)双向绑定的值变化时触发
confirm(e : UTSJSONObject)点击确认按钮时触发

方法

名称参数返回值说明
show--打开,关闭组件

插槽

名称返回值说明
name-