更新记录
1.0.0(2025-02-17)
下载此版本
发布初版
平台兼容性
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:选择数据 |