收藏
回答

picker数据不同步

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 需求 picker 客户端 7.0.4 2.4.4

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


我想通过点击picker传递城市id,js通过城市id查找出对应的县区,并且渲染到picker的range中,但是我的数据不同步,每次要点第二下picker,县区才能显示出来。很明显第一次数据已经获取到了,但是没渲染,,请大佬帮忙看看。如果picker有个方法可以直接调用就更方便了,当数据得到时在打开picker





<view class="cityChoose">

<text class="chooseCity_title">城市名</text>

<view class="cityChooseList" wx:for="{{cityData}}" wx:key="{{index}}" wx:for-item="letterItem">

<view class="cityList">

<text class="letterItem">{{letterItem.letter}}</text>

<picker class="cityItem" wx:for="{{letterItem.citys}}" wx:key="{{index}}" wx:for-item="cityItem" data-cityid="{{cityItem.id}}" bindtap="chooseDistrict" mode="selector" range="{{districtList}}" value="{{index}}" range-key="{{'fullname'}}" bindchange="bindDistrictChange">

{{cityItem.cityName}}

</picker>

</view>

</view>

</view>


//点击城市事件

chooseDistrict: function (e) {

let that = this;

//console.log(e.target.dataset.cityid);

qqmapsdk.getDistrictByCityId({

id: e.target.dataset.cityid,

success: function (res) {

//console.log(res);

that.setData({

districtList: res.result[0]

})

},

fail: function (error) {

console.error(error);

}

})

},



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

1 个回答

  • ʚ青哥ɞ
    ʚ青哥ɞ
    07-15

    应该是你第一次点击的时候请求接口 数据还没返回就显示了picker

    07-15
    赞同
    回复 2
    • 夜雨般的十年
      夜雨般的十年
      07-15
      对,后来我用了别人写好的picker自定义组件,在数据返回之后调用,微信官方好像没有这个方法
      07-15
      回复
    • Hutool
      Hutool
      11-04回复夜雨般的十年
      大神可以分享一下picker自定义组件吗
      11-04
      回复