ITPub博客

首页 > IT职业 > IT职场 > 微信小程序pick组件使用问题总结

微信小程序pick组件使用问题总结

IT职场 作者:gamebus 时间:2021-09-09 10:27:14 0 删除 编辑

写本文主要的目的是,前段时间在写小程序的时候,使用官方自带的pick组件,使用region时遇到的问题.

. 这里我创建了一个index目录,该目录下面创建好必备的文件。这里只会操作到.js和.wxml文件。
第一种方案
wxml文件添加如下内容

<view>
    <text>消费区域:</text>
    <picker value='{{region}}' mode='region' bindchange='bindRegionChange' custom-item=''>
      {{regionSelectText}}{{region}}
    </picker>
</view>

js文件添加如下内容

Page({
  data: {
    'regionSelectText':'点击此处选择区域',
    'region': ['广东省', '广州市', '海珠区'],
    'customItem':'全部'
  },
  bindRegionChange: function (e) {
    console.log(e.detail);
    this.setData({
      region: e.detail.value,
      regionSelectText: ''
    });
}});

第二种方案
wxml文件添加如下内容

<view>
    <text>消费区域:</text>
    <picker value='{{region}}' mode='region' bindchange='bindRegionChange' custom-item=''>
      {{regionSelectText}}{{region[0]}}{{region[1]}}{{region[2]}}
    </picker>
</view>

js文件添加如下内容

Page({
  data: {
    'regionSelectText':'点击此处选择区域',
    'region': ['广东省', '广州市', '海珠区'],
    'customItem':'全部'
  },
  bindRegionChange: function (e) {
    console.log(e.detail);
    this.setData({
      region: e.detail.value,
      regionSelectText: ''
    });
}});

demo说明
1.页面初始化regionSelectText参数,是因为页面如果仅仅是添加pick组件,而pick组件中没有内容,是无法触发bindchange 事件的.
2.js中的e.detail.value返回的是一个数组.
3.js初始化’region’: [‘广东省’, ‘广州市’, ‘海珠区’]是必须的.
4.第二种方法的wxml中是用来数组的形式{{region[0]}},如果不直接写{{region}},则系统默认使用数组的形式,并且以中文的","隔开每个数据.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4687/viewspace-2822174/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-10

  • 博文量
    155
  • 访问量
    13178