小程序获取地址

 var that = this;

   app.func.getJson('/api/index/get_area_list',{

    parent_id:0

   },(res)=>{

    var xiaoquList = res.data.data.data;

    this.setData({

      multiArray:res.data.data.data,

      parentAdd:res.data.data.data

    })

    

    var xiaoquArr = xiaoquList.map(item => {     // 此方法将省名称区分到一个新数组中

      return item.cname;

    });

    that.setData({

      multiArray: [xiaoquArr, []],

      xiaoquList,

      xiaoquArr

    })

    var default_xiaoqu_id = xiaoquList[0]['id'];     //获取默认的省对应的id

    if (default_xiaoqu_id) {

      that.searchClassInfo(default_xiaoqu_id)       // 如果存在调用获取对应的省级数据

    }

   })

 

 

  bindArea(e){

    this.setData({   //给变量赋值

      hx_index: e.detail.value,  

     })

  },

  bindMultiPickerColumnChange: function(e) {

    //  console.log(e)

    var data = {

      multiArray: this.data.multiArray,

      multiIndex: this.data.multiIndex

    };

    data.multiIndex[e.detail.column] = e.detail.value;

   

    //省份id

    var pid_session = this.data.pid;

    

    // 保持之前的省id 与新选择的id 做对比,如果改变则重新请求数据

    switch (e.detail.column) {

      case 0:

       var xiaoquList = this.data.xiaoquList;

       var classList=this.data.classList

        var pid = xiaoquList[e.detail.value]['id'];

        console.log(pid,"市区id");

        console.log(classList[e.detail.value])

        //console.log(pid,'fahjfhjkasjlfjasj')

        //var area=classList[e.detail.value]['id']        

        if (pid_session != pid){     // 与之前保持的省id做对比,如果不一致则重新请求并赋新值

          this.searchClassInfo(pid);

          //console.log(2222)

        }

    

        break;

    }

    this.setData(data);

  },

 

  

  searchClassInfo(xiaoqu_id) {

    // console.log(xiaoqu_id)

    var that = this;

    if (xiaoqu_id) {

      this.setData({

        pid: xiaoqu_id

      }, () => {

        console.log(this.data.pid,"省市id")

        app.func.getJson('/api/index/get_area_list',{

          "parent_id": that.data.pid

        },(res)=>{

            var classList = res.data.data.data;

            

            var classArr = classList.map(item => {

              // console.log(item.cname,"市的")

              return item.cname;

            });

            var classid = classList.map(item => {

              return item.id;

            })

          

            var xiaoquArr = that.data.xiaoquArr;

            that.setData({

              multiArray: [xiaoquArr, classArr],

              classArr,

              classList,

              classid

            })

           var searchid=classList[0]['id'];

           if (searchid) {

            that.area(searchid)      // 如果存在调用获取对应的省级数据

          }

        })

      })

    }

  },

  area(searchid) {

    var that = this;

    if(searchid){

      that.setData({

       areaid:searchid

      }) 

      console.log(this.data.areaid,"市区id")

  //  市

        app.func.getJson('/api/index/get_area_list',{

          "parent_id": that.data.areaid

        },(res)=>{

 

            var classArea = res.data.data.data;

            var classArrs = classArea.map(item => {

              return item.cname;

            })

            var xiaoquArr = that.data.xiaoquArr;

            var classArr=that.data.classArr

            that.setData({

              multiArray: [xiaoquArr, classArr,classArrs],

              classArr,

              classArea

            })

        })

      }

  },

  bindMultiPickerChange: function(e) {

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

    var class_key = 0;

    var classList = this.data.classList;

    var select_key = e.detail.value[1];

    let id= this.data.classList[select_key]

    console.log(id)

    var real_key = select_key - 1;

    if (real_key < class_key) {

      this.setData({

        cid: 0

      })

    } else {

      this.setData({

        cid: classList[real_key]['cid']       // class_id 代表着选择的市级对应的 班级id

      })

    }

    this.setData({

      multiIndex: e.detail.value

    })

  },

  escMask(){

   this.setData({

    address_p:false

   })

  },

  // 获取地区

  bindRegionChange: function (e) {

    this.setData({

      region: e.detail.value

    })

  },

  bindPickerChangeCity: function (e) {

    console.log('自定义选择器点击的下标', e.detail.value)

    console.log('这一条的值', this.data.regions[e.detail.value].id)

    let id= this.data.regions[e.detail.value].id

   app.func.getJson('/api/index/get_area_list',{

    parent_id:id

   },(res)=>{

    this.setData({

       regions:res.data.data.data

    })

   })

  },

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值