picker选择确定后,this.setData成功,页面不刷新?
发布于 5 年前 作者 min57 11196 次浏览 来自 官方Issues

wxml部分代码:

<picker bindchange="bindPickerChange" value="{{index}}" range="{{userCouponList}}" range-key="name">
            <view>{{index}}</view>
            <view class="picker">
              当前选择:{{userCouponList[index].name}}
            </view>
</picker>

js部分代码:

bindPickerChange: function(e{
    console.log('picker发送选择改变,携带值为', e.detail.value)
    this.setData({
      index: e.detail.value
    })
    console.log(this.data.index)
},

index初始值为0,选择第二个选项以后,index被更新成1,但是页面不会刷新,还是原来的值。

页面如图


控制台输出图

可以看到this.data.index更新成功了,页面不会刷新。picker的js复制的官方代码,使用官方示例是可以成功刷新页面的,没搞明白,求解,整了几个小时试了各种方法都没用,已经裂开,求大佬解答

5 回复

检查appdata面板

检查appdata面板

你试试把 e.detail.value 这里写死的话有改变吗

this.setData({
  index1
})

你好这边测试正常,提供下可以复现问题的代码片段 https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

回到顶部