更新记录
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 |
当选择值变化时触发 |