微信小程序時間控件picker view使用詳解
更新時間:2018年12月28日 11:08:57 作者:未名胡
這篇文章主要介紹了微信小程序時間控件picker view的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了微信小程序時間控件的具體實現(xiàn)代碼,供大家參考,具體內(nèi)容如下
在原來基礎上改了點,由于項目需要按照功能需求自己在原有的組件上改寫的選擇日期時間插件,但后來這個功能取消,所以整理下寫下來

wxml:
<view class="time_screens">
<view style="text-align:center;color:#45BCE8">{{year}}-{{month}}-{{day}} {{hour}}:{{minute}}<label style="float:right;margin-right:10px;">確定</label></view>
<view style="border-top:1px solid #45BCE8;height:25px;font-size:14px;">
<view class="time-title">年</view>
<view class="time-title">月</view>
<view class="time-title">日</view>
<view class="time-title">時</view>
<view class="time-title">分</view>
</view>
<picker-view indicator-style="height: 50px;" style="width: 100%; height: 300px;" value="{{value}}" bindchange="bindChange">
<picker-view-column class="picker-text">
<view wx:for="{{years}}" style="line-height: 50px">{{item}}</view>
</picker-view-column>
<picker-view-column class="picker-text">
<view wx:for="{{months}}" style="line-height: 50px">{{item}}</view>
</picker-view-column>
<picker-view-column class="picker-text">
<view wx:for="{{days}}" style="line-height: 50px">{{item}}</view>
</picker-view-column>
<picker-view-column class="picker-text">
<view wx:for="{{hours}}" style="line-height: 50px">{{item}}</view>
</picker-view-column>
<picker-view-column class="picker-text">
<view wx:for="{{minutes}}" style="line-height: 50px">{{item}}</view>
</picker-view-column>
</picker-view>
</view>
wxss:
.time-title{
float:left;width:20%;text-align:center;color:#45BCE8
}
.picker-text{
text-align:center;
}
/*mask*/
.time_screens {
width: 100%;
position: fixed;
bottom: 0;
left: 0;
z-index: 1000;
opacity: 0.5;
overflow: hidden;
}
js:
const date = new Date()
const years = []
const months = []
const days = []
const hours = []
const minutes = []
var thisMon = date.getMonth();
var thisDay = date.getDate();
for (let i = 2017; i <= date.getFullYear()+1; i++) {
years.push(i)
}
for (let i = date.getMonth(); i <= 11; i++) {
var k = i;
if (0 <= i && i < 9) {
k = "0" + (i+1);
}else{
k = (i + 1);
}
months.push(k)
}
if (0 <= thisMon && thisMon<9){
thisMon = "0" + (thisMon + 1);
}else{
thisMon = (thisMon + 1);
}
if (0 <= thisDay && thisDay<10){
thisDay ="0"+thisDay;
}
var totalDay = mGetDate(date.getFullYear(), thisMon);
for (let i = 1; i <= 31; i++) {
var k = i;
if (0 <= i && i < 10) {
k = "0" + i
}
days.push(k)
}
for (let i = 0; i <= 23; i++) {
var k=i;
if(0<=i&&i<10){
k="0"+i
}
hours.push(k)
}
for (let i = 0; i <= 59; i++) {
var k = i;
if (0 <= i && i < 10) {
k = "0" + i
}
minutes.push(k)
}
function mGetDate(year, month) {
var d = new Date(year, month, 0);
return d.getDate();
}
Page({
data: {
years: years,
year: date.getFullYear(),
months: months,
month: thisMon,
days: days,
day: thisDay,
value: [1,thisMon-1,thisDay-1,0,0],
hours: hours,
hour: "00",
minutes: minutes,
minute: "00",
},
bindChange: function (e) {
const val = e.detail.value
this.setData({
year: this.data.years[val[0]],
month: this.data.months[val[1]],
day: this.data.days[val[2]],
hour: this.data.hours[val[3]],
minute: this.data.minutes[val[4]],
})
var totalDay = mGetDate(this.data.year, this.data.month);
var changeDate=[];
for (let i = 1; i <= totalDay; i++) {
var k = i;
if (0 <= i && i < 10) {
k = "0" + i
}
changeDate.push(k)
}
this.setData({
days: changeDate
})
},
})
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Javascript HTML5 Canvas實現(xiàn)的一個畫板
這篇文章主要為大家詳細介紹了Javascript HTML5 Canvas實現(xiàn)的一個畫板的相關資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-05-05
獲取JS中網(wǎng)頁各種高寬與位置的方法總結(jié)
本文詳細羅列了如何在javascript獲取網(wǎng)頁各種高寬及位置,內(nèi)容比較全面,有需要的可以參考一下。2016-07-07
js構(gòu)建二叉樹進行數(shù)值數(shù)組的去重與優(yōu)化詳解
這篇文章主要給大家介紹了關于js構(gòu)建二叉樹進行數(shù)值數(shù)組的去重與優(yōu)化的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2018-03-03
JavaScript實現(xiàn)刪除數(shù)組重復元素的5種常用高效算法總結(jié)
這篇文章主要介紹了JavaScript實現(xiàn)刪除數(shù)組重復元素的5種常用高效算法,結(jié)合實例形式總結(jié)分析了javascript刪除數(shù)組重復元素的幾種常見操作技巧,需要的朋友可以參考下2018-01-01

