微信小程序 Picker

城市选择器 region

微信小程序 Picker_第1张图片

//index.wxml
<picker mode="region" bindchange="bindRegionChange" value="{{region}}">
  <view class="picker">
    当前选择:{{region[0]}}{{region[1]}}{{region[2]}}
  view>
picker>

//index.js
data: {
    region: ['广东省', '广州市', '海珠区']
}

多列选择器 multiSelector

微信小程序 Picker_第2张图片
脑残没有关注官方更新,自己写了个城市选择器。

// City.js

//  省份
var provinceList = [
  { "id": "11", "name": "北京", "initial": "B" },
  ...];

var cityList = [
  {
    "provinceId": "11",
    "citys": [
      { "id": "1", "name": "昌平" },
     ...]
  }
];
//  点击省份,获取城市列表
function getCitysById(id) {
  let provinceId = provinceList[id].id;
  var tempObj = [];
  for (let i = 0; i < cityList.length; i++) {
    if (cityList[i].provinceId == provinceId) {
      tempObj = cityList[i].citys;
      break;
    }
  }
  return tempObj;
}

module.exports = {
  provinceList: provinceList,
  getCitysById: getCitysById
}

// Picker.wxml

<picker mode="multiSelector" value="{{index}}" bindcolumnchange="bindPickerChange" range="{{province}}" range-key="{{'name'}}">
  <view class="picker">
    当前选择:{{province[0][0].name}}{{province[1][0].name}}
  view>
picker>

// Picker.js

// picker.js
var cityObj = require("../../utils/city")
Page({
  data: {
    index: 0
  },
  onLoad: function (options) {
    var defaultCitys = cityObj.getCitysById("0")
    this.setData({
      province: [cityObj.provinceList, defaultCitys]
    })
  },
  bindPickerChange(e) {
    if (e.detail.column == 0) {
      var citys = cityObj.getCitysById(e.detail.value);
      this.setData({
        province: [cityObj.provinceList, citys]
      })
    }
  }
})

时间选择器 time

微信小程序 Picker_第3张图片

<picker mode="time" value="{{time}}" start="09:01" end="21:01" bindchange="bindTimeChange">
  <view class="picker">
    当前选择: {{time}}
  view>
picker>

日期选择器 date

微信小程序 Picker_第4张图片

<picker mode="date" value="{{time}}" start="2015-09-01" end="2017-09-01" fields="month" bindchange="bindTimeChange">
  <view class="picker">
    当前选择: {{time}}
  view>
picker>

你可能感兴趣的:(微信小程序)