官方属性说明如下图:
废话不多说,bug看图:
想实现的效果是多级选择器,上级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赋值空字符串,测试。
第二次报错解决。
希望能给阅读者提供一些解决思路。