更新记录

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

发布初版


平台兼容性

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

Picker 滚动选择器

组件名: xt-picker

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

安装方式

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

基本用法

<template>
    <view class="xt">
        <xt-picker ref="picker" v-model="xtID" :loading="load" :range='data' column="3" linked :show="show"
            @close="close" @change="change"></xt-picker>
        <button @click="showPicker">选择</button>
        <button @click="log">打印</button>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                load: false,
                show: false,
                xtID: [{
                    label: '中国',
                    value: 1
                }, {
                    label: '北京',
                    value: 2
                }, {
                    value: 12
                }, ],
                data: [{
                        value: 1,
                        label: '中国',
                        children: [{
                                value: 2,
                                label: '北京',
                                children: [{
                                        value: 3,
                                        label: '东城区'
                                    },
                                    {
                                        value: 12,
                                        label: '西城区'
                                    }
                                ]
                            },
                            {
                                value: 4,
                                label: '上海'
                            }, {
                                value: 5,
                                label: '广州'
                            }
                        ]
                    }, {
                        value: 6,
                        label: '美国',
                        children: [{
                            value: 7,
                            label: '纽约'
                        }, {
                            value: 8,
                            label: '洛杉矶'
                        }]
                    },
                    {
                        value: 9,
                        label: '日本',
                        children: [{
                            value: 10,
                            label: '东京'
                        }]
                    }, {
                        value: 11,
                        label: '韩国'
                    }
                ]
            }
        },
        methods: {
            log() {
                console.log(this.xtID);
            },
            change(e) {
                if (e.newValue == 2) {
                    this.load = true;
                    setTimeout(() => {
                        this.$refs.picker.setList(3, [{
                            value: 20,
                            label: '秋叶原'
                        }]);
                        this.load = false;
                    }, 2000)

                }
            },
            showPicker() {
                this.show = !this.show;
            },
            close() {
                this.show = false
            }
        }
    }
</script>

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

    .picker {
        width: 100%;
        height: 300rpx;
    }
</style>

API

属性 类型 默认值 说明
value String - 绑定值
show Boolean false 是否显示
title String - 标题
cancelText String 取消 取消按钮文字
cancelColor String #828383 取消按钮文字颜色
confirmText String 确定 确定按钮文字
confirmColor String #409EFF 确定按钮文字颜色
showControl Boolean true 是否显示顶部控制栏, 包含标题
loading Boolean false 是否显示加载中
bgColor String #fff 弹窗背景颜色
mask Boolean true 是否显示遮罩层
closeOnClickOverlay Boolean false 点击遮罩层关闭
itemHeight String | Number 44 各列中,单个选项的高度
visibleItemCount String | Number 5 每列中可见选项的数量
range Array - 选择器数据
linked Boolean false 是否多列联动
column Number 2 多列联动时显示几列
label String label 选择器数据中,每一项的标签
labelKey String value 选择器数据中,每一项的标识
immediateChange Boolean false 是否在手指松开时立即触发 change 事件

Events

事件名 参数 说明
close - 关闭事件
confirm - 确定事件
change - 当选择值变化时触发

Methods

通过ref调用

名称 说明
setList 设置对应列的选择数据
(index,arr) index:第几列 从 1 开始 arr:选择数据

隐私、权限声明

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

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

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

许可协议

MIT协议

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