WXLL代码实现
<picker class='time-picker' mode="multiSelector"
bindchange="bindStartMultiPickerChange" bindtap='pickerTap'
bindcolumnchange="bindMultiPickerColumnChange"
value="{{multiIndex}}" range="{{multiArray}}">
{{startDate}}
</picker>
JS代码实现
import util from './../../utils/util.js';
var date = new Date();//调用系统时间函数
Page({
data: {
startDate: "请选择日期",
multiArray: [['今天', '明天']],
multiIndex: [0],
},
pickerTap: function () {
date = new Date();
var monthDay = ['今天', '明天'];
// ?月?日
for (var i = 2; i <= 28; i++) {
var date1 = new Date(date);
date1.setDate(date.getDate() + i);
var md = (date1.getMonth() + 1) + "月" + date1.getDate()+"日";
monthDay.push(md);//将当前月份所有的日期push进monthDay.
}
var data = {
multiArray: this.data.multiArray,
multiIndex: this.data.multiIndex
};//初始化输出的数组和索引
data.multiArray[0] = monthDay;//将monthDay中的日期赋值给输出数组
this.setData(data);//将data输出到全局
},
bindMultiPickerColumnChange: function (e) {
date = new Date();
var that = this;
var monthDay = ['今天', '明天'];
var data = {
multiArray: this.data.multiArray,
multiIndex: this.data.multiIndex
};
// 把选择的对应值赋值给 multiIndex
data.multiIndex[e.detail.column] = e.detail.value
},//获得下拉的索引值
bindStartMultiPickerChange: function (e) {
var that = this;
var monthDay = that.data.multiArray[0][e.detail.value[0]];
if (monthDay === "今天") {
var month = date.getMonth() + 1;
var day = date.getDate();
monthDay = month + "月" + day + "日";
} else if (monthDay === "明天") {
var date1 = new Date(date);
date1.setDate(date.getDate() + 1);
monthDay = (date1.getMonth() + 1) + "月" + date1.getDate() + "日";
} else {
var month = monthDay.split("月")[0]; // 返回月
var day = monthDay.split("月")[1]; // 返回日
monthDay = month + "月" + day;
}
var startDate = monthDay
that.setData({
startDate: startDate
})
console.log("输入的预约时间是:"+this.data.startDate)
}
})
初入微信小程序的小白一枚,写博客的同时当作做笔记,希望大家轻喷~,如果能帮到大家就更好了!(代码已经亲测可用,但不建议直接复制粘贴哦)