- 当前 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没解析出来吧,你没带{{}}
至于为什么是使用下标设置而不是直接设置值,考虑过在数组里面只有下标是唯一的吗