循环出来的picker组件如何给选项赋值?
发布于 6 年前 作者 xiulan92 3062 次浏览 来自 官方Issues

前端选台组件数量不确定,是这样写的循环出来的

<block wx:for="{{formProperties}}" wx:key="{{item}}">

 <view class=“select” wx:if="{{item.type==‘enum’}}">

    <picker mode=“selector” range="{{selectValueArr}}" value="{{selectSubArr}}" bindchange=“selectChange” data-index="{{index}}">

         <view class=“picker-select”>

{{selectSubArr[index]}}

              <image src="…/images/next.png" style=“width:30rpx;height:30rpx;position:absolute;top:20rpx;right:20rpx;”></image>

         </view>

    </picker>

 </view>

</block>

js中已经得到后台传来的选项内容

for (var i = 0; i < json.data.formProperties.length; i++) {

optionid[i] = json.data.formProperties[i].id;

var option = optionid[i].split(’,’);

console.log(option);  //可以成功打印

that.setData({

selectValueArr: option

})

}

打印出来的option为

最终渲染出来两个组件的选项内容是一样的,都是 [“负责人”, “负责人2”]

应该是for循环的原因,我希望 添加隐患 的选项是 [“岁修”, “修缮”, “抢险”, “安技防”]

用过push方法,感觉更不对了,怎么给他们分别赋值并渲染出来呢?是需要分开写picker组件的代码吗?

3 回复

解决了吗

只需要一个picker,点到哪个就动态改变range和value

你既然要循环,为什么picker的range的值一样呢

回到顶部