您的位置:

微信小程序时间选择器详解

一、微信小程序时间选择器重复

在微信小程序中,时间选择器是我们常常需要使用的组件,因此我们会发现,微信小程序中有多个不同的时间选择器组件可以使用,有时会让人感到困惑,下面我们来一一介绍它们的特点和使用方式。

二、微信小程序日期时间选择器

微信小程序提供了日期时间选择器组件,适用于需要设置日期和时间的场景。以下是一个简单的例子:

<picker mode="datetime" bindchange="bindDateChange">
  <view class="picker">{{dateTimeArray[dateTimeIndex[0]]}}年{{dateTimeArray[dateTimeIndex[1]]}}月{{dateTimeArray[dateTimeIndex[2]]}}日 {{dateTimeArray[dateTimeIndex[3]]}}:{{dateTimeArray[dateTimeIndex[4]]}}:{{dateTimeArray[dateTimeIndex[5]]}}</view>
</picker>

在上述代码中,我们使用了picker组件,并且设置了mode属性为datetime,这表示我们需要同时选择日期和时间。同时,我们还使用了一个bindchange事件,以便在选择完成后触发的回调函数对所选时间进行处理。我们使用了picker组件的view属性,获取选择器中对应位置上的数组值,然后拼接起来,以展示用户选择的时间。

三、微信小程序多列选择器

类似于日期时间选择器,微信小程序中还提供了多列选择器组件,适用于需要选择多个选项并且这些选项有依赖关系的场景。以下是一个简单的例子:

<picker mode="multiSelector" bindcolumnchange="bindColumnChange" value="{{multiIndex}}" range="{{multiArray}}">
  <view class="picker">{{multiArray[0][multiIndex[0]]}}-{{multiArray[1][multiIndex[1]]}}</view>
</picker>

在上述代码中,我们使用了picker组件,并且设置了mode属性为multiSelector,这表示我们需要使用多列选择器,其中每个列都有一组选项。同时,我们还使用了一个bindcolumnchange事件,以便在滑动列时触发的回调函数对所选选项进行处理。我们使用了picker组件的value属性,获取选择器当前的值,同时使用了range属性,设置各个列上的选项。我们使用picker组件的view属性,获取选择器中对应位置上的数组值,然后拼接起来以展示用户选择的信息。

四、微信小程序选择时间用不了

在使用微信小程序的时间选择器组件时,我们有时会遇到选择时间用不了的问题。这通常是因为我们的代码中缺少了需要的格式化处理。具体来说,如果我们使用了picker组件的mode属性为time,那么我们需要将所选时间进行格式化,以兼容小程序的时间格式。以下是一个示例:

Page({
  data: {
    time: null
  },
  bindTimeChange: function (e) {
    this.setData({
      time: e.detail.value
    })
  },
  timeFormat: function(time) {
    var timeArr = time.split(':');
    return timeArr[0] + '时' + timeArr[1] + '分';
  }
})

在上述代码中,我们使用了bindTimeChange事件来获取所选时间,并使用setData()方法将所选时间保存在data中。同时,我们还编写了一个timeFormat函数,在其中对所选时间进行处理,将其格式化为小程序所接受的时间格式。我们在组件视图中使用timeFormat()展示用户选择的时间。

五、微信小程序开发选择器选取

在使用微信小程序的时间选择器组件时,我们还需要注意开发者工具中的一个问题,即选择器无法根据滑动的距离确定选中位置。这通常是因为我们在选择器组件的某些属性上设置了过大的值,导致选项过多、距离过大,使得选择器无法精确的定位到用户所选择的选项。为了解决这个问题,我们可以在开发者工具中使用全局CSS控制选择器的样式,并且检查picker-view的height值是否过大。以下是一份示例的CSS代码:

/* 选择器 */
.picker-view {
  height: 180px;
  line-height: 45px;
  overflow: hidden;
  position: relative;
}
.picker-view .picker-view-column {
  position: absolute;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-transform-origin: center center;
  transform-origin: center center;
  -webkit-transition: -webkit-transform .3s cubic-bezier(.19, .87, .36, 1);
  transition: -webkit-transform .3s cubic-bezier(.19, .87, .36, 1);
  transition: transform .3s cubic-bezier(.19, .87, .36, 1);
  transition: transform .3s cubic-bezier(.19, .87, .36, 1), -webkit-transform .3s cubic-bezier(.19, .87, .36, 1);
}

在上述代码中,我们将选择器视图的高度设置为180px,并且使用了一个绝对定位的方式,以便更加方便的控制选择器列上每个选项的样式和布局。同时,我们还使用-webkit-transition属性控制选择器列上每个选项的动画效果,使得选择器的动作更加流畅。

微信小程序时间选择器详解

2023-05-18
微信小程序日期时间选择器完整使用教程

2023-05-22
微信小程序日期选择器详解

2023-05-17
微信小程序定时器详解

2023-05-18
微信小程序php开发,微信小程序php后端搭建

2023-01-06
微信小程序省市区选择器的详细阐述

2023-05-17
微信小程序上传详解

2023-05-18
微信小程序中引入js(添加微信小程序)

本文目录一览: 1、微信小程序 怎么用第三方js库 jquery 2、微信小程序,weixin,小程序怎么引入js闭包 3、微信小程序wxml中使用js函数 4、微信小程序(上) 5、重磅:微信小程序

2023-12-08
jsp实现微信小程序(微信小程序 html5)

本文目录一览: 1、你好,请问你把jsp文件转成微信小程序做到了吗 2、开发微信小程序需要哪些技术 3、微信收集信息小程序怎么做 4、jsp网站转换成微信小程序 你好,请问你把jsp文件转成微信小程序

2023-12-08
php开发微信小程序步骤,thinkphp开发微信小程序

2022-11-28
印象笔记记录java学习(Java成长笔记)

2022-11-12
发篇java复习笔记(java课程笔记)

2022-11-09
微信小程序wx.request详解

2023-05-17
php小程序微信支付代码,微信小程序 php

2022-11-18
微信小程序免密支付开发php,微信免密登录小程序

2022-12-02
微信小程序js改变dom(微信小程序appjs)

本文目录一览: 1、微信小程序 动态修改元素class 2、微信小程序点击切换class 3、微信小程序怎么将EBD格式的文件转化成json? 4、微信小程序不能操作dom吗 5、微信小程序怎么开发

2023-12-08
js和微信小程序(js和微信小程序关联)

本文目录一览: 1、重磅:微信小程序发布WeUI.js 官方视觉组件库! 2、微信小程序wxml中使用js函数 3、微信小程序wxs的使用(当页面数据渲染前添加js操作) 4、怎样用js开发微信小程序

2023-12-08
微信小程序时间戳转时间格式详解

2023-05-21
微信小程序抓包详解

2023-05-22
php微信小程序接口,微信小程序php后端接口

2023-01-07