更新记录

1.0.0(2025-02-21) 下载此版本

发布初版


平台兼容性

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

MultiplePicker 多选组件

组件名: xt-multiple-picker

适配情况需自行尝试,开发时只测试了H5、APP、微信小程序

安装方式

本组件符合 easycom 规范,HBuilderX 3.1.0 起,只需将本组件导入项目,在页面 template 中即可直接使用,无需在页面中 import 和注册 components

基本用法

<template>
    <view class="xt">
        <button @click="showPicker">选择</button>
        <button @click="log">打印</button>
        <xt-multiple-picker v-model="xtID" :show.sync='show' :range="list"
            @scrolltolower='scrolltolower'></xt-multiple-picker>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                show: false,
                list: [{
                        label: '员工一',
                        value: '1',
                    },
                    {
                        label: '员工二',
                        value: '2',
                    },
                    {
                        label: '员工三',
                        value: '3',
                    },
                    {
                        label: '员工四',
                        value: '4',
                    },
                    {
                        label: '员工五',
                        value: '5',
                    },
                    {
                        label: '员工六',
                        value: '6',
                    },
                    {
                        label: '员工六',
                        value: '6',
                    },
                    {
                        label: '员工六',
                        value: '6',
                    },
                    {
                        label: '员工六',
                        value: '6',
                    },
                    {
                        label: '员工六',
                        value: '6',
                    },
                    {
                        label: '员工六',
                        value: '6',
                    },
                    {
                        label: '员工六',
                        value: '6',
                    },
                    {
                        label: '员工六',
                        value: '6',
                    },
                    {
                        label: '员工六',
                        value: '6',
                    },
                    {
                        label: '员工六',
                        value: '6',
                    },
                    {
                        label: '员工六',
                        value: '6',
                    },
                    {
                        label: '员工六',
                        value: '6',
                    },
                    {
                        label: '员工六',
                        value: '6',
                    },
                    {
                        label: '员工六',
                        value: '6',
                    }
                ],
                xtID: [{
                        label: '员工一',
                        value: '1',
                    },
                    {
                        label: '员工二',
                        value: '2',
                    }, {
                        label: '员工三',
                        value: '3',
                    }
                ],
            }
        },
        methods: {
            showPicker() {
                this.show = !this.show;
            },
            log() {
                console.log(this.xtID);
            },
            onchange(e) {
                console.log(e)
            },
            close() {
                console.log('关闭')
            },
            confirm(e) {
                console.log(e)
            },
            scrolltolower() {
                this.list = this.list.concat([{
                        label: '员工七',
                        value: '7',
                    },
                    {
                        label: '员工七',
                        value: '7',
                    },
                    {
                        label: '员工七',
                        value: '7',
                    }, {
                        label: '员工七',
                        value: '7',
                    }, {
                        label: '员工七',
                        value: '7',
                    }, {
                        label: '员工七',
                        value: '7',
                    },
                ])
            }
        }
    }
</script>

<style lang="scss">
    .xt {
        padding: 0 20rpx;
        display: flex;
        flex-direction: column;
        gap: 15rpx;
    }
</style>

实际使用中,请确保`value`每项都不同

API

属性名 类型 描述 默认值
value String 绑定值 -
range Array 选择数据 -
label String 展示字段 label
labelValue String 绑定字段 value
show Boolean 是否显示 false
lowerThreshold Number 剩余多少条触发触底事件 10
title String 标题 -
cancelText String 取消按钮文字 取消
cancelColor String 取消按钮文字颜色 #828383
confirmText String 确定按钮文字 确定
confirmColor String 确定按钮文字颜色 #409EFF
showControl Boolean 是否显示顶部控制栏,包含标题 true
bgColor String 弹窗背景颜色 #fff
mask Boolean 是否显示遮罩层 true
closeOnClickOverlay Boolean 点击遮罩层关闭 false
itemHeight String | Number 各列中,单个选项的高度 44
visibleItemCount String | Number 每列中可见选项的数量 5

Events

事件名 描述
close 关闭事件
confirm 确定事件
scrolltolower 触底事件
change 当选择值变化时触发

隐私、权限声明

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

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

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

许可协议

MIT协议

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