收藏
回答

在for循环中如何实现通过改变其中一项的属性值控制其他属性的显示隐藏

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 需求 for循环/hidden属性/wx:if属性 工具 6.5.3 2.0.0

- 需求的场景描述(希望解决的问题)

老板需要在循环中默认将一部分组件隐藏,当改变循环列表中的某一项值的时候使隐藏的组件满足条件显示,,再次改变当前值的时候该组件不满足条件隐藏

- 希望提供的能力


回答关注问题邀请回答
收藏

2 个回答

  • 禾店科技
    禾店科技
    2021-04-29

    用wx:if可以实现的

    2021-04-29
    有用 1
    回复
  • 2019-04-22

    不太明白你要隐藏的是整个picker还是里面渲染的某个值

    2019-04-22
    有用
    回复 5
    • 3987丶奋斗
      3987丶奋斗
      2019-04-22

      就是想动态的去隐藏循环列表内的某一项,通过改变列表内指定的值,从而去判断列表内的另一项的显示隐藏,比如我现在循环一个订单信息列表,订单的物品尺寸默认是小/中件,这个时候物品的重量以及交通工具 的选项都是隐藏的取后台默认值,但是当选择物品的尺寸是大件等其他值的时候,物品重量以及交通工具等选项要显示出来以供选择;

      2019-04-22
      回复
    • 2019-04-22

      现有的wx:if可以实现啊

      2019-04-22
      回复
    • 3987丶奋斗
      3987丶奋斗
      2019-04-22回复

      我现在的问题是在改变对应项的值后,判断条件内的值不能实时更新!没想出来咋去实现


      2019-04-22
      回复
    • 2019-04-22回复3987丶奋斗

      代码贴出来

      2019-04-22
      回复
    • 3987丶奋斗
      3987丶奋斗
      2019-04-22回复
      <view wx:for="{{importOrder}}" wx:key='item' wx:for-index='index'>
              <view>
                <label>收件人:</label>
                <input disabled value='{{item.receiver.name}}'></input>
              </view>
              <view>
                <label>电话:</label>
                <input disabled type='number' value='{{item.receiver.phonenumber}}'></input>
              </view>
              <view>
                <label>收件地址:</label>
                <input disabled value='{{item.receiver.addressName}}'></input>
              </view>
              <view>
                <label>详细地址:</label>
                <input disabled value='{{item.receiver.addressDetail}}'></input>
              </view>
              <view>
                <label>物品名称:</label>
                <input bindinput="article" placeholder='非必填'></input>
              </view>
              <view>
                <label>物品尺寸:</label>
                <text>{{itemSize[index]=='小件(30x30x30cm)'&&itemSize[index]=='中件(50x50x30cm)'}}</text>
                <text>{{itemSize[index].size}}</text>
                <picker bindchange="bindPickerChange2" data-num='{{index}}' value="{{index2}}" range="{{array2}}">
                  <view class="picker">
                    当前选择:{{itemSize==[]?array2[index2]:itemSize[index].size}}
                  </view>
                </picker>
              </view>
              <view>
                <label>物品类型:</label>
                <picker bindchange="bindPickerChange" data-num='{{index}}' value="{{index}}" range="{{array}}">
                  <view class="picker">
                    当前选择:{{array[index0]==''?'暂无':array[index0]}}
                  </view>
                </picker>
              </view>
              <view wx:if="{{itemSize[index]=='小件(30x30x30cm)'&&itemSize[index]=='中件(50x50x30cm)'}}">
                <label>交通工具:</label>
                <picker bindchange="bindPickerChange3" value="{{index3}}" range="{{array3}}">
                  <view class="picker">
                    当前选择:{{array3[index3]==''?'暂无':array3[index3]}}
                  </view>
                </picker>
              </view>
              <view wx:if="{{itemSize[index]=='小件(30x30x30cm)'&&itemSize[index]=='中件(50x50x30cm)'}}">
                <label>物品重量:</label>
                <view class='weight'>
                  <view>
                    <input bindinput='weight' data-num='{{index}}' value='{{weight}}' class=''></input>
                  </view>
                  <text>单位/KG</text>
                </view>
              </view>
            </view>

      当选择物品尺寸的时候,会把当前选择的值存放在一个数组,然后判断当前数组的对应值是否符合条件,控制显示隐藏

      2019-04-22
      回复
登录 后发表内容