Skip to content

mms-picker 联动选择器

简述

底部弹出的 picker-view 级联选择,支持 1~3 列、树形 pickerData(或旧名 tree),确认后返回每列的 文案value

注意

注意: 本组件为 mmsUnix 自研,请勿与外部未授权商业组件源码混用或逐字对照非本库文档。超过 3 级的联动数据请使用本库 mms-cascade-selection 等分段方案。小程序端若对 v-model:show 支持不完整,请使用 :show@update:show 自行同步(与演示页一致)。

平台差异说明

App(vue)App(nvue)H5小程序

基本使用

uvue
<template>
	<mms-button @click="show = true">选择省市</mms-button>
	<mms-picker
		:show="show"
		:pickerData="cityData"
		:layer="2"
		title="选择地区"
		confirmColor="#ff0844"
		@update:show="show = $event"
		@confirm="onConfirm"
	/>
</template>

小程序端若对自定义组件的 v-model:show 支持不完整,请使用 :show + @update:show 自行同步(与演示页一致)。

数据格式

每项为对象,默认字段:

字段说明
text展示文案(可用 textField / textKey 改名)
value业务值(可用 valueField / valueKey 改名)
children子级数组(可用 childrenField / childrenKey 改名)
  • 单列pickerData 为一维数组,无 children 或子级为空。
  • 多列:父级带 children,列数由 layer 决定(与数据实际深度可不一致,缺列时用占位 -)。

Props

参数说明类型默认值
show是否显示booleanfalse
pickerData数据源;非空时优先于 treearray[]
treepickerData 相同含义的旧名array[]
layer列数 1~3number | string3
textKey / textField展示字段名,textField 非空时优先stringtext / ''
valueKey / valueField取值字段名,valueField 非空时优先stringvalue / ''
childrenKey / childrenField子节点字段名stringchildren / ''
title顶部中间标题string''
titleSize标题字号(rpx)number | string32
titleColor标题颜色string#333333
cancelText / confirmText两侧按钮文案string取消 / 确定
cancelColor / confirmColor按钮颜色string#888888 / #5677fc
btnSize按钮字号(rpx)number | string30
maskClosable点击遮罩是否关闭booleantrue
showMask是否显示遮罩booleantrue
zIndex面板 z-index(遮罩为 zIndex-1)number10002
indicatorStyle选中行指示条样式(透传 picker-view)stringheight: 50px;
backgroundColor面板背景色string#ffffff
itemColor / itemSize选项文字颜色、字号(rpx)string / number | string#333333 / 30
params自定义透传,会出现在 hide 与确认结果的 paramsnumber | string0

Events

事件名说明回调参数
update:show关闭时(确定、取消、可关闭的遮罩)false
confirm点击确定见下表「确认载荷」
changeconfirm 同时触发,载荷相同confirm
cancel点击取消或可关闭遮罩关闭-
hide取消或遮罩关闭时{ params }
columnchange某一列滚动导致联动重置{ column, value }

确认载荷(confirm / change

字段说明
labels各列选中文案 string[],长度与 layer 一致(缺数据时可能含空串)
values各列选中 value 转成的 string[]
nodes选中的节点对象数组
indices各列选中下标
valueindices 相同(兼容旧习惯)
params即 props params

演示路径

  • /pages_demo/ext/picker/picker:单列 / 双列 / 三级示例
  • /pages_demo/form/form:资料登记「地区」双列选择

与 mms-datetime-picker 的区别

场景建议
日期、时间mms-datetime-picker
自定义树形字典(省市区、分类等)mms-picker

Released under the MIT License.