uni-app踩坑 - 官方picker组件 Invalid prop: custom validator check failed for prop "value".

官方属性说明如下图:
picker组件属性说明
废话不多说,bug看图:
picker组件报错
想实现的效果是多级选择器,上级picker更新后,下级picker全部置空。
于是循环处理,给value赋值空字符串。
然后就报错了。
忙乎了半天才想起value值必须为Number类型。
怎么办?

<picker
	mode="selector"
	@change="pickerChange($event)"
	:value="Number(index)"
	:range="arr">
	<input
		name="a"
		disabled
		:value="arr[index]"/>
</picker>

将value值转为Number类型,测试。
第一次报错解决。

随后要求要有官方form组件提交、清空。
于是在所有picker组件外嵌套了form组件,并且用button组件绑定了submit和reset。

<form @submit="formSubmit" @reset="formReset">
	<picker>...</picker>
	<picker>...</picker>
	<view class="uni-btn-v">
		<button form-type="submit">Submit</button>
		<button form-type="reset">Reset</button>
	</view>
</form>

但点击清空按钮后,又报这个错了。

研究半天,决定使用放弃form组件的reset。

<button @tap="resetHandler">Reset</button>

自己写了个resetHandler方法将index赋值空字符串,测试。
第二次报错解决。

希望能给阅读者提供一些解决思路。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值