如何在页面中动态生成多个picker组件且互不影响?
发布于 6 年前 作者 ligao 4579 次浏览 来自 官方Issues

如图,我的表单是动态生成的,日期和下拉框均为picker组件,但是当出现多个picker时(数量不定),选择了一个另一个的值也变了,而且给下拉框的选项赋值时,第二个也把前一个覆盖了,怎样才能让这些picker互不影响,且都是动态生成而非页面写死的?

5 回复

看表现形式像是共用了value导致互相之间产生了影响。那么1.如果说你的表单动态生成是可控的(总数量固定,根据数据来决定隐藏某一部分组件),那么你只需要picker组件使用不同的range和value名称即可。1.如果不可控,数量完全根据数据来决定,无法提前在页面写好。那么你可以统计循环中的picker数量或统计全部picker数量(根据业务,怎么简便怎么来);在数据获取后,使用一个pickerIndexArray数组存储所有picker的value下标,并为不同的picker进行分配。在pickerChange触发时,修改pickerIndexArray中对应下标的值即可。

日期picker-------[ data1];

日期2picker-------[ data2];

负责人picker------[data3]

完成时间picker------[data4]

是这个意思不

楼上说的不错,你得多试,多改代码,大胆干

理论上只需要一个picker,你只需知道点击的是哪个,然后动态改变mode,range,value

动态生成的话,你一定能获取某个picker的索引

回到顶部