收藏
回答

多个Picker之间会互相影响

问题模块
API和组件

在一个页面上布置两个picker,当将其中一个的选项改变为不是默认的值的后,点击两外一个picker,弹出选项窗口中的默认值也会随着前面的那个picker的索引而改变

<picker range="{{modeList}}" value="{{modeIndex}}" bindchange="changeMode">

                <button class="weui-btn mini-btn" size="mini" type="primary" plain="true">

                  {{modeList[modeIndex]}}

                </button>

              </picker>

              <picker range="{{ownerList}}" value="{{ownerIndex}}" bindchange="changeOwner">

                <button class="weui-btn mini-btn" size="mini" type="primary" plain="true">

                  {{ownerList[ownerIndex]}}

                </button>

              </picker>


最后一次编辑于  2017-04-11  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

6 个回答

  • y
    y
    2017-04-11

    你看我发表的,我已经提交bug

    2017-04-11
    赞同
    回复
  • 丹丽
    丹丽
    2017-04-12

    下面是js里的脚本,我检查了几遍感觉没什么问题。

    Page({

      data: {

        modeList: ['分组模式', '列表模式'],

        modeIndex: 0,

        ownerList: ['我的', '全部'],

        ownerIndex: 0,

      },


    onLoad: function (options) {

        // 页面初始化 options为页面跳转所带来的参数

    },


    changeMode: function (e) {

        this.setData({

          modeIndex: e.detail.value

        });

      },


      changeOwner: function (e) {

        this.setData({

          ownerIndex: e.detail.value

        });

      }

    })

    默认情况下是“分组模式”(modeIndex=0)和“我的”(ownerIndex=0)

    第一个组件选择为“列表模式”(modeIndex=1),这时选择第二个组件,弹出的面板里标记为选中的是“全部”(ownerIndex=1的时候才是“全部”),这时的ownerIndex的值还是0,所以弹出面板中标记为选中的应该是“我的”。

    不知道问题出在哪里?






    2017-04-12
    赞同
    回复
  • 海哥
    海哥
    2017-05-09

    这的确是一个bug  我也出现了这个问题

    页面上多个picker 时就有这样的问题

    怀疑是===多个picker引用同一个下弹窗 , 导致下弹窗只记录最后一次的 index位置引起  希望官方解决该bug

    至少考虑多个picker的情况

    2017-05-09
    赞同
    回复
  • 杨小将军
    杨小将军
    2017-06-11

    我也遇到这个问题了 搞了半天 动态生成的几个picker之间下标有时会出现互相影响的问题 不知道官方什么时候能解决啊

    2017-06-11
    赞同
    回复
  • danarrr🎈
    danarrr🎈
    2017-08-03

    解决了吗sos

    2017-08-03
    赞同
    回复
  • 杜安
    杜安
    2017-10-29

    小程序的设计者真TM脑残!每个picker要一个索引变量和名不同功能相同的绑定方法。什么叫代码重用!

    2017-10-29
    赞同
    回复