小程序bug 组件picker的bindchange事件选中value值不对
发布于 5 年前 作者 xiuyingliang 6437 次浏览 来自 问答

wxhm代码:

   

       当前选择:{{ceshi_array[ceshi_array_index]}}

  

<picker bindchange=“bindPickerChange2” value="{{ceshi_array2_index}}" range="{{ceshi_array2}}">

   

       当前选择:{{ceshi_array2[ceshi_array2_index]}}

 

注:其实就是在官网文档复制的普通picker组件代码,只是更改过value和range的默认值

js代码:

Page({

   data: {

       ceshi_array: [‘美国’, ‘中国’, ‘巴西’, ‘日本’],

       ceshi_array_index: 0,

       ceshi_array2: [‘美国2’, ‘中国2’, ‘巴西2’, ‘日本2’],

       ceshi_array2_index: 0

   },

   bindPickerChange: function (e) {

       console.log(‘picker发送选择改变,携带值为’, e.detail.value)

       this.setData({

           index: e.detail.value

       })

   },

   bindPickerChange2: function (e) {

       console.log(‘picker发送选择改变,携带值为’, e.detail.value)

       this.setData({

           index: e.detail.value

       })

   },

})

也就是说当前页有多个组件普通picker时,每一个都选第二个,那么console.log出来的value值是 1,后面的无论多少个picker的value的值都是 0。

注:在操作滚动选项时,必须一次就滚动选项二,中间不可滚动失误、或者鼠标点一下,否则不会呈现这个bug。

       不过在手机上这个bug并没有呈现,仅限在微信开发工具上。

下面附带一张操作gif图

2 回复

谢谢反馈,已经定位到问题了,对你造成的困扰表示抱歉

回到顶部