- 当前 Bug 的表现(可附上截图)
- 预期表现
- 复现路径
- 提供一个最简复现 Demo
问题一:
Page({ data: { heightindex: 0, height:165, heightArray: [], }, onLoad: function () { //处理身高 var har=[]; var hstart= 130; var hend = 220; for (var i = hstart; i < hend;i++){ har.push(i); } this.setData({ heightindex:8, heightArray: har, height: har[10] }) } |
html
<picker class="item-right" bindchange="bindHeightChange" data-id='{{heightArray[heightindex].id}}' value="heightindex" range="{{heightArray}}"> {{height}} CM </picker> |
设置默认值heightindex=8,即身高是140,
显示正常,但点击触发picker弹框,默认选中的值 仍然是heightindex=0的值,而不是140
问题二:
picker的默认值为什么只能设置index呢,比如身高数组,一个人的默认升高假如是165,直接设置165就行,但为甚么要直接通过165所在的index设置呢,

一个大柜子, 里面有很多小柜子, 装有不同草药. 现在因为这个小柜子装甘草我给这个柜子命名为甘草, 那么以后万一他放茯苓的时候, 就要表达为: 拿在甘草柜里面的茯苓.... 了....
index写的确实有问题,已经改了,但问题是为什么picker只能设置index,这个很坑啊,
组件里面的heightindex没解析出来吧,你没带{{}}
至于为什么是使用下标设置而不是直接设置值,考虑过在数组里面只有下标是唯一的吗