小程序开发笔记《四》picker回显之省市二级联动

上篇文章介绍了小程序自定义省市二级联动选择器,但是当用户保存省市信息后再次进入页面,需要将选择器回显,这篇文章主要讲述自定义选择器回显。

实现思路:
通过后台返回的省份编码,获取该省份在省份列表数组的下标值,并根据省份编码拿到该省份下的市级列表,并把市级列表放入picker的range属性对应数组的第二列,然后根据后台返回的市级编码获取该市级在市级列表数组的下标值,拿到这两个下标值存入数组中然后赋值给picker的value属性,就实现啦~
js代码:

Page({

  /**
   * 页面的初始数据
   */
  data: {
    province_code:"",
    city_code:"",
    provinceCityArray: [provinceCity.getProvinceList, provinceCity.getCityListByProvince("110000")],
    multiIndex: [0, 0],
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    /**根据服务器请求返回值赋值给data,这里方便演示默认写死 */
    this.setData({
      province_code:"420000",
      city_code:"421000"
    })
    var data = {
      provinceCityArray: this.data.provinceCityArray   
    };
    var multiIndexArray = [];
    //获取当前省在所有省数组中的下标
    for (var i = 0; i < data.provinceCityArray[0].length; i++) {
      if (this.data.province_code == data.provinceCityArray[0][i].area_code) {
        multiIndexArray[0] = i;
        break;
      }
    }
    var cityArray = provinceCity.getCityListByProvince(this.data.province_code);
 
   //获取当前市在当前省所有市cityArray数组中的下标
    for (var i = 0; i < cityArray.length; i++) {
      if (this.data.city_code == cityArray[i].area_code) {
        //根据当前市编码去匹配
        multiIndexArray[1] = i;
        break;
      }
    }
    data.provinceCityArray[1] = cityArray;
    this.setData({
      multiIndex: multiIndexArray,
      provinceCityArray: data.provinceCityArray
    })

  }
})

其他部分的实现可参考上一篇文章:小程序开发笔记《三》自定义省市二级联动

 

 

原文作者技术博客: https://www.jianshu.com/u/ac4daaeecdfe

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值