基于uniapp的时间选择器组件,特色:轻量级,可配置任意列的展示

uni-app时间选择器组件xp-picker详解
本文档介绍基于uni-app的轻量级时间选择器组件xp-picker,支持自定义列配置,如'y-m-d h:i'、'm-d'等。组件适用于h5、微信小程序、QQ小程序及App,提供多种使用示例、属性介绍,如mode(y年、m月、d日等)、value的使用,并详细解释了confirm事件和插槽功能。对于特定模式,如只需要'md',组件会智能处理平闰年问题。

xp-picker

  • 上一代e-picker-plus的优化版本,适配任何可选列的配置,包括但不限于’y-m-d h:i’、'm-d’等,详情请看文档
  • 功能强、通用性强、多端兼容。兼容h5、微信小程序、QQ小程序(其他平台小程序未作测试)与app

一、使用示例

示例1:函数式打开picker,通过 this.$refs[ref].show()
    <template>
    	<view>
    		<xp-picker ref="picker"  @confirm="confirm" />
    		<view @tap="show">开启</view>
    	</view>
    </template>
	<script>
		export default {
			methods: {
				show() {
					this.$refs.picker.show()
				},
				confirm(e) {
					console.log(e)
				}
			}
		}
	</script>
示例2:xp-picker包含一个默认插槽,点击内容直接打开picker弹窗
    <template>
    	<view>
    		<xp-picker @confirm="confirm">打开</xp-picker>
    	</view>
    </template>
	<script>
		export default {
			methods: {
				confirm(e) {
					console.log(e)
				}
			}
		}
	</script>

二、属性介绍

字段类型必填默认值描述
modeStringymd见下方mode 详细介绍
heightNumber35选择器的高度,单位vh
animationBooleantrue打开和关闭是否使用动画效果
valueString当前时间打开选择器时默认选中的时间,详细见下方使用方式
year-rangeArray[2016,null]数组第一项代表开始年份(配置为null将使用默认2016),第二项代表结束年份(配置null将使用本年),配置示例:[2010,null]
historyBooleanfalse每次打开picker时,是否保持用户最后一次选择的历史时间,若为fasle,则每次打开显示当前时间
action-positionStringtop可选 bottom,设置"取消"和"确定"按钮的位置
startRulev2.0已移除
endRulev2.0已移除
startv1.2已移除
endv1.2已移除
errorMsgv1.2已移除

1、mode的使用(y年;m月;d日;h时;i分;s秒)

可选类型描述
ypicker将只显示 '年’一列
ympicker将只显示 '年月’两列
ymdpicker将只显示 '年月日’两列
ymdhpicker将只显示 '年月日时’四列
ymdhipicker将显示 '年月日时分’五列
ymdhispicker将显示 '年月日时分秒’六列
m略……
d略……
h略……
i略……
s略……
md略……
hi略……
is略……
his略……
mdh略……
mdhi略……
mdhis略……

未出现在表格中的配置代表不支持。但是xp-picker可以适配任何自定义列,比如:其中’dh’未预定义,因此只需在源码加一行dh的预定义即可(util.js/getLocalTime),不会联系作者,热心答复

2、value的使用

此选项用于自定义picker打开时的显示时间,同样需要与mode对应

modevalue格式(必须)
ymdyyyy-MM-dd
hisHH:mm:ss
…………

三、事件

字段描述
confirm点击确定按钮的响应事件
cancel关闭picker的响应事件
confirm 事件返回属性介绍
属性类型描述
isOverTimev2.0.0已移除
resultString选择的时间 例如:‘2020-12-06’
resultArrArray例如:[‘2020年’,‘12月’,‘06日’]
timestampBigInt返回的时间戳,支持理论可转换的时间

四、插槽

可使用此方式打开picker弹窗

五、讨论

  • 若你有需求是:只要显示 ‘月’和’日’ 即 mode=‘md’,没有 ‘年’ 这一列。而’日期’这一列考虑平闰年,也由年份决定,因此这类mode的默认年份是本年,
    picker智能的解决了平闰年的问题;以此类推,没有 年和月 ,picker将默认本年本月
  • 源码采用原生picker-view组件搭建的界面,因此界面可以根据自己的界面需求添砖加瓦
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值