[youzan/vant-weapp]van-picker禁用项过多时的问题

2024-08-20 99 views
3
重现链接

list = [{text:'123',disabled:false},{text:'234',disabled:true},{text:'123',disabled:true},{text:'234',disabled:true}{text:'123',disabled:true},{text:'234',disabled:true}{text:'123',disabled:true},{text:'234',disabled:true},{text:'234',disabled:true},{text:'345',disabled:false}]

Vant Weapp 版本

1.10.15

描述一下你遇到的问题。

在van-picker中禁用的选项无法选中会自动选择下一个,如果连续多个被禁用的选项就会导致永远无法滑动至第一个选项

重现步骤
  1. van-picker传入一个数组长度为十且第二至九项都为disabled
  2. 弹出van-picker会默认选中最后一项,往上滑动也会自动弹到最后一项,无法滑动到第一项
设备/浏览器

华为mate 40 微信开发者工具

回答

7

中间禁用的选项过多确实会导致滑倒最后一个可选中选项的时候很难再滑动回到第一个。关于你重现步骤2中说的”van-picker会默认选中最后一项“这个问题我没复现,我这边默认是选择第一个。 我想到的临时解决方案是:如果对列表顺序没有严格要求的话可以尝试给列表排个序,把disable为false的放前面。 image

6

因为业务对顺序有要求所以这个方案可能用不了,后面是不限制选项的disabled,在点击确定的时候来判断这个选项能否选择,不能选择就弹出提示。 关于默认选到最后一个是一开始的情景是前九项都是disabled,后面改了描述没有改回来。

0

我可以复现。不过也还是能选到第一个,一直滑动屏幕到底选中第一个。可以先尝试把禁用项从数组里剔除掉。

3

非功能性问题,体验性问题考虑在后续迭代中进行优化。