微信小程序 选择年和月以及回显 使用picker-view组件

<!--选择年月-->
  <view bindtap="pickCalendar">{{year}}年{{month}}月</view>
  <picker-view wx:if="{{open}}" class="fixed-select" indicator-style="height: 50px;" style="width: 100%; height: 300px;" value="{{[year, month-1]}}" bindchange="bindChange">
    <view class="select-head">
      <view class="close" bindtap="closeSelect">取消</view>
      <view class="close sure" bindtap="sureSelect">确定</view>
    </view>
    <picker-view-column>
      <view wx:for="{{years}}" wx:key="this" class="picker-list">{{item}}年</view>
    </picker-view-column>
    <picker-view-column>
      <view wx:for="{{months}}" wx:key="this" class="picker-list">{{item}}月</view>
    </picker-view-column>    
  </picker-view>
/*选择年月-start*/
const date = new Date()
const years = []
const months = []
for (let i = 1900; i <= date.getFullYear(); i++) {
  years.push(i)
}
for (let i = 1; i <= 12; i++) {
  months.push(i)
}
/*选择年月-end*/
Page({
  data: {
    /*选择日期-start*/
    years,
    months,
    year: date.getFullYear(), //年份
    month: date.getMonth() + 1, //几月
    value: [9999, 0, 0], // 获取年月份
    open: false,
    checkedYear: '',//选中的年份 最后赋值用
    checkedMonth: '',//选中的月份 最后赋值用
    /*选择日期-end*/
  },

  /*其它代码*/
  /*月份选择器-start*/  
  pickCalendar(){
    console.log(this.data.month)
    this.setData({
      open: true
    })
  },
  
  //确定选择
  sureSelect(){
    this.setData({
      // val 上面定义了 接收的是e里面的值 为数组 
      year: this.data.checkedYear || this.data.year,
      month: this.data.checkedMonth || this.data.month,
      open: false
    }) 
  },

  // 取消选择 
  closeSelect() {
    this.setData({
      open: false
    })
  },

  // 日期改变
  bindChange(e) {
    const val = e.detail.value
    this.setData({
      // val 上面定义了 接收的是e里面的值 为数组 
      checkedYear: this.data.years[val[0]],
      checkedMonth: this.data.months[val[1]],
    })    
  },
  /*月份选择器-end*/
})  
/*选择月份-start*/
.fixed-select {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 10;
  height: 350rpx;
  background-color: #fff;    
  border-top: 2px solid #e9e9ea;
}

.fixed-select .select-head {
  position: absolute;
  top: 0;
  z-index: 111;  
  display: flex;  
  justify-content: space-between;
  width: 100%;
  line-height: 60rpx;
  background-color: #eee;
}

.fixed-select .select-head .close {
  padding: 10rpx 20rpx;
}

.fixed-select .select-head .sure {
  color: #ffb81c;
}
.picker-list{line-height: 50px; text-align: center;}
/*选择月份-end*/

自己记录用的 可以作为参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 微信小程序中的Picker组件可以实现选择日时分秒的功能。 首先,我们需要在小程序的页面中引入Picker组件,并在wxml文件中定义一个Picker组件的容器,例如: ```html <view class="picker-container"> <picker mode="date" bindchange="onDateChange"> <view class="picker-content">{{selectedDate}}</view> </picker> </view> ``` 上述代码中,使用`picker`标签定义了一个Picker组件,设置`mode`属性为`date`表示选择日期。`bindchange`属性绑定了一个事件处理函数`onDateChange`,用于在选择日期时触发相应的操作。`picker`标签内的`view`标签可以用来显示选择的日期。 接下来,在小程序的页面对应的js文件中,我们需要定义`onDateChange`事件处理函数,并在函数中处理日时分秒的选择。例如: ```javascript Page({ data: { selectedDate: '' }, onDateChange(e) { const value = e.detail.value; this.setData({ selectedDate: value }); // 在这里可以继续添加代码处理选中的日时分秒 } }); ``` 上述代码中,`onDateChange`事件处理函数获取了选择的日期信息,将其保存在`selectedDate`数据中,然后可以在函数体内继续添加代码,处理选中的日时分秒。 总结起来,通过Picker组件的引入和事件处理函数的编写,我们可以在微信小程序中实现日时分秒的选择功能。 ### 回答2: 微信小程序picker组件是一种方便用户选择日期和时间的工具。其中,日时分秒是picker所支持的不同选择项。 在微信小程序使用picker组件,我们可以设置mode属性来定义选择器的模式。为了选择日时分秒,我们可以将mode属性设置为"datetime"。 在picker使用过程中,我们可以通过设置start和end属性来限制可选择的日期和时间范围。例如,我们可以设置start为当前日期时间,end为未来某个日期时间,以确保用户只能选择当前时间以后的日期和时间。 通过以上设置,当用户点击picker组件时,会弹出一个滚动选择器,分为、日、时、分和秒六个滚动列表。用户可以通过滑动这些列表来选择所需的日期和时间。 选择器的每个滚动列表默认都有一个固定的范围,比如份范围通常为当前份加减10。用户可以通过滚动列表来选择他们想要的、日、时、分和秒。 当用户完成选择后,我们可以通过绑定picker的change事件来获取用户所选的日期和时间。在change事件的回调函数中,我们可以通过event.detail.value来获取用户选择的日期和时间值。 综上所述,微信小程序picker组件可以方便地实现日时分秒的选择功能。通过设置适当的属性和监听change事件,我们可以根据用户的选择来进行相应的操作。无论是用于预约、倒计时或者其他时间相关的功能,picker组件都能够满足用户的需求。 ### 回答3: 微信小程序中的picker组件可以用来选择日时分秒。在使用picker组件时,我们可以通过设置mode属性为'date'来选择日,设置为'time'来选择时分秒,还可以设置为'dateTime'来选择日时分秒。 当设置mode属性为'date'时,picker会显示一个日期选择器,我们可以通过设置start和end属性来限制可以选择的日期范围。例如,设置start为'2010-01-01',end为'2022-12-31',用户只能在这个日期范围内进行选择选择的日期将会以字符串的形式返回。 当设置mode属性为'time'时,picker会显示一个时间选择器,可以选择时分秒。同样,我们可以通过设置start和end属性来限制可选择的时间范围。选择的时间将会以字符串的形式返回。 当设置mode属性为'dateTime'时,picker会显示一个日期时间选择器,可以选择日时分秒。同样,我们可以通过设置start和end属性来限制可选择的日期时间范围。选择的日期时间将会以字符串的形式返回。 在使用picker时,可以通过bindchange属性来监听用户选择的值的变化,从而执行相应的代码逻辑。例如,当选择器的值发生变化时,可以将选择的值存储在数据中,并更新页面的展示内容。 总之,微信小程序picker组件提供了便捷的日时分秒选择功能,在开发时可以根据实际需求设置mode属性,并通过监听用户选择的值的变化来处理相应的业务逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值