小程序下拉框

此篇博客介绍了如何在微信小程序中使用picker组件实现区县选择,通过API请求动态加载数据,并展示了获取和绑定选择变化的逻辑。关键点包括数据初始化、picker组件配置、获取区县列表和处理用户选择事件。
摘要由CSDN通过智能技术生成

页面

 <view class="info info-name">
				<label class="info-lable">所属街道</label>
		
				<picker bindchange="bindPickerChange2" range-key='{{"cboText"}}' style="float:left; margin-left: 5%" range="{{AreaCode}}">
					<view>
						<text style="color:#848484">{{AreaCode[qx].cboText}}</text>
					</view>
				</picker>
			</view>

JS

data{
  AreaCode: [{
      cboValue: '',
      cboText: '请选择区县'
    }],
    selectQA: '',
    qx:0
    }

onload:function(options)
{
this.GetAreaCode()//调用查询方法
//回填下拉框数值
查询成功后再setData中赋值
this.setData({
selectQA:.areaCode,
})
}
  GetAreaCode: function () {

    var that = this;
    wx.request({
      url: app.globalData.ApiPath + 'api/Common/GetComAreaCodeList',
      method: 'post',
      header: {
        'content-type': 'application/json' // 默认值
      },
      success(res) {

        that.setData({
          ['AreaCode[0].cboValue']: '',
          ['AreaCode[0].cboText']: '请选择区县'
        })

        for (var i = 0; i < res.data.length; i++) {
       
          var cboValue = 'AreaCode[' + (i + 1) + '].cboValue';
          var cboText = 'AreaCode[' + (i + 1) + '].cboText';
          //console.log(cboValue,cboText)
          that.setData({
            [cboValue]: res.data[i].areaCode,
            [cboText]: res.data[i].areaName
          })
        }
        if (that.data.selectQA != "") {
          for (let i = 0; i < that.data.AreaCode.length; i++) {
            if (that.data.AreaCode[i].cboValue == that.data.selectQA) {
              that.setData({
                qx: i
              })
            }
          }
        }
        //console.log(that.data.AreaCode)
      }
    })
  },
  //获取下拉框值
   bindPickerChange2: function (e) {

    //console.log('picker发送选择改变,携带值为', e.detail.value)
    var areacode = this.data.AreaCode[e.detail.value].cboValue;
    this.setData({
      qx: e.detail.value,
      selectQA: areacode
    })
   
  },
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值