收藏
回答

循环出来的picker组件如何给选项赋值?

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

<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组件的代码吗?



最后一次编辑于  10-25
回答关注问题邀请回答
收藏

3 个回答

  • Xavier Xie
    Xavier Xie
    11-07

    解决了吗

    11-07
    赞同
    回复
  • 周赟
    周赟
    10-25

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

    10-25
    赞同
    回复 1
    • Alice
      Alice
      10-25
      感谢回答!
      10-25
      回复
  • 米法(BINNIE SMILE)
    米法(BINNIE SMILE)
    10-25
    你既然要循环,为什么picker的range的值一样呢
    10-25
    赞同
    回复 2
    • Alice
      Alice
      10-25
      请问大神range值应该怎么写呢?我的选项是经过js里面解析出来的
      10-25
      回复
    • Alice
      Alice
      10-25
      大神您看我把选项写在页面上可以,range里面不显示,是不是写法不对啊。
      10-25
      回复
问题标签