收藏
回答

picker-view value如何设置默认值

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

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


场景:进入地址修改页面时,打开地址选择弹框,弹框的默认显示应和上面的收货地址显示相同,


但是可以看到图上的2个地址不同,弹框的默认显示始终都是(北京,北京,东城区),


我注意到了picker-view标签上有一个vaule属性,是可以设置默认值的,于是我尝试修改,但是失败了。


我发现一个问题,picker-view-column内的值如果不相关联,picker-view标签上的vaule是可以设置默认值的。


但是如果相关联的话,就不行,看下图,



当我在picker-view上拖动后,现在(重庆,重庆,南岸区)相对应的value是(30,0,4),


而我在data中直接将value的值设为(30,0,4)后,显示的默认值却不是(重庆,重庆,南岸区),如下图



想请大神指点,这种关联的数据,如何设置value的默认值,求思路。


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

2 个回答

  • 再见,电脑崽
    再见,电脑崽
    2018-11-28

    https://developers.weixin.qq.com/s/g8eFXgmh7X4U

    2018-11-28
    赞同 2
    回复 7
    • lmblm
      lmblm
      2018-11-28

      对,这就是我想要的效果,但请问一下,这些省市区的数据放在那里的,我没有找到呢

      2018-11-28
      回复
    • 再见,电脑崽
      再见,电脑崽
      2018-11-28回复lmblm

      onLoad里

      const provinceId = provinceList[this.data.value[0]].regid
      var cityList = area.areaParent(provinceId);
      const cityId = cityList[this.data.value[1]].regid
      var areaList = area.areaParent(cityId);


      2018-11-28
      回复
    • lmblm
      lmblm
      2018-11-28回复再见,电脑崽


      onLoad是空的呀,什么都没有。

      2018-11-28
      回复
    • 再见,电脑崽
      再见,电脑崽
      2018-11-28回复lmblm

      我那发的是你的代码里的片段。。。。请仔细点

      2018-11-28
      回复
    • 再见,电脑崽
      再见,电脑崽
      2018-11-28回复lmblm

      如果只是传省市区的文本值,根本不需要自己定义数据结构,直接使用官方的组件即可实现,像你项目的这种情况,传递的是ID到服务器,就需要自定义。


      以上代码在你的onLoad里替换

      const provinceId = provinceList[this.data.value[0]].regid

      var cityList = area.areaParent(provinceId);

      const cityId = cityList[this.data.value[1]].regid

      var areaList = area.areaParent(cityId);

      2018-11-28
      回复
    查看更多(2)
  • lmblm
    lmblm
    2018-11-28

    对,这就是我想要的效果,但请问一下,这些省市区的数据放在那里的,我没有找到呢

    2018-11-28
    赞同
    回复