更新记录

1.0.2(2023-07-18) 下载此版本

no message

1.0.1(2023-07-18) 下载此版本

新增readme

1.0.0(2023-07-18) 下载此版本

发布到插件市场

查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.8.7 app-vue × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
×

wThreePicker 三级联动选择器

组件名:w-three-picker

由于内置组件picker 的滚动和手动改变节点的麻烦,因此封装一个数据驱动的弹窗式的三列级联选择器,轻巧易用、无三方依赖、多配置。组件传参命名与uni统一好理解。无广告和有示例项目。

安装

该组件符合easycom规范,导入uni_modules中方可直接使用。

基本用法

template中使用。

<w-three-picker
    ref="picker1"
    :title="['省', '市', '区']"
    :localdata="provinces"
    v-model="value1"
    @confirm="confirm1"
    @nodeclick="nodeclick"
    :is-mask-click="false"
    :show-cancel="true"
    text-field="name"
    value-field="code"
></w-three-picker>

<w-three-picker
    ref="picker2"
    :title="['年级', '班级', '人物']"
    :localdata="options"
    v-model="value2"
    @cancel="closed"
    @maskClick="closed"
    @confirm="confirm2"
    :is-mask-click="true"
    :show-cancel="false"
    color="#edbd43"
></w-three-picker> 

通过this.$refs['picker1'].show()方法弹出组件。

详细配置

配置

wThreePicker Props

属性名 类型 默认值 说明
v-model Array ['','',''] 必须是长度3的数组。''空字符串是没有选中,下标数值不得是字符串类型
localdata Array [] 选项数据,期待格式[{text,value,children:[]}],text和value字段命名能定义,children固定
title Array ['一级','二级','三级'] 三列的标题
color String '#3478f6' 主题色彩
is-mask-click Boolean false 点击遮罩层是否触发关闭
show-calcel Boolean true 是否显示取消按钮
text-field String 'text' 定义localdata中text字段
value-field String 'value' 定义localdata中value字段

wThreePicker Events

事件名 说明 返回参数
confirm 点击确定 {text:[...],value:[...]} 选中选项信息
cancel 点击取消 -
maskclick 点击遮罩层,当is-mask-click是true的时候才触发 -
nodeclick 点击选项节点 {detail:{column,index,value}}

wThreePicker Method

方法名 说明 参数
show 打开 -
hide 关闭 -

其他

  • 确定按钮是否变亮能够点击,取决于级联数据是否还有子节点,若已选中最后一级则按钮变亮。否则点击无效。
  • 组件样式没有scoped限制,若需要覆盖能在App.vue style中声明类名覆盖。
  • 组件内获取uni.getLocale() 判断按钮语言,非zh-Hans显示英文Confirm、Cancel。

创作不易,如果对你有帮助,希望能到github点个Star,感谢。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问