uView 组件中 picker 校验问题

// 非页面组件中,uView 的 u-form 校验规则这样写,对 picker 选项进行校验的时候会获取不到对应值
// 导致该项一直报错未输入值
[
	{ 
		required, 
		message: '请输入手机号码',
		trigger: 'change',
	}
]
// 使用自定义校验,校验空值即可解决该问题
[
	{
		// 必须使用自定义校验,不然在组件中的 picker 校验会产生问题
		validator: (rule, value, callback) => {
			// 数字 0 是允许值
			if(!value && typeof value != 'number') {
				callback(new Error(message));
			} else {
				// 如果校验通过,也要执行callback()回调
				callback();
			}
		},
		trigger: 'change',
		message: message,
		required
	},
]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在uView Pluspicker组件是一种常用的UI组件,用于用户在多个选项选择一个选项。它支持多种选择模式,如单列模式、多列模式、时间选择器等。以下是picker组件的基本用法: 1. 单列模式 ```html <uni-picker mode="selector" :range="{{['选项1','选项2','选项3']}}" @confirm="onPickerConfirm"> <view>请选择</view> </uni-picker> ``` 在单列模式,我们通过设置mode属性为"selector"来指定选择器的模式。同时,通过设置range属性来指定选项列表。在用户选择完选项并点击确定按钮后,会触发confirm事件,我们可以在事件处理函数获取选的值。 2. 多列模式 ```html <uni-picker mode="multiSelector" :range="{{multiRange}}" @confirm="onPickerConfirm"> <view>请选择</view> </uni-picker> ``` 在多列模式,我们通过设置mode属性为"multiSelector"来指定选择器的模式。同时,通过设置range属性来指定多列选项列表。我们需要将每列选项列表保存在一个数组,然后将这些数组组成一个数组,作为range属性的值。在用户选择完选项并点击确定按钮后,会触发confirm事件,我们可以在事件处理函数获取选的值。此外,我们还需要在data定义一个multiIndex变量来保存每列选的索引值。 3. 时间选择器 ```html <uni-picker mode="time" @confirm="onPickerConfirm"> <view>请选择时间</view> </uni-picker> ``` 在时间选择器,我们通过设置mode属性为"time"来指定选择器的模式。在用户选择完时间并点击确定按钮后,会触发confirm事件,我们可以在事件处理函数获取选的时间值。 在以上示例代码,我们都绑定了confirm事件,然后在事件处理函数获取选的值。我们可以根据实际需求来选择合适的模式和设置选项,以满足我们的业务需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值