使用原生小程序组件Picker自定义日期时间选择器

这篇具有很好参考价值的文章主要介绍了使用原生小程序组件Picker自定义日期时间选择器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用原生小程序组件Picker自定义日期时间选择器

1、 Picker简单介绍

可以看到Picker类型有5种, 具体可以查看微信开放文档 picker。

Picker(选择器)是一种常见的用户界面控件,用于从多个选项中选择一个或多个选项。在小程序中,Picker 是一种可用于选择日期、时间、地点等信息的组件。

小程序中的 Picker 组件提供了几种不同的模式,包括 mode="selector"mode="multiSelector"mode="time"mode="date"mode="region"等。具体的功能和用法如下:

  1. mode="selector"(单列选择器):该模式下,可以通过设置 range 属性指定一个数组作为选择器的选项列表,用户可以从中选择一个选项。

  2. mode="multiSelector"(多列选择器):该模式下,可以通过设置 range 属性指定一个二维数组作为选择器的选项列表,其中每个子数组代表一个列,用户可以在每列中选择一个选项。可以通过 rangeKey 属性为每个选项指定一个关键字,用于显示在选择器中。

  3. mode="time"(时间选择器):该模式下,用于选择时间,包括小时和分钟。可以通过设置 startend 属性指定时间的可选范围。

  4. mode="date"(日期选择器):该模式下,用于选择日期,包括年、月、日。可以通过设置 startend 属性指定日期的可选范围。

  5. mode="region"(省市区选择器):该模式下,用于选择省市区。

使用 Picker 组件,需要在小程序页面的 WXML 文件中添加相应的标签,并在相应的 JavaScript 文件中编写事件处理函数来处理用户的选择。

以下是一个示例代码,展示了如何使用 Picker 组件进行日期选择:

<view>
  <picker mode="date" bindchange="handleDateChange">
    <text>选择日期</text>
  </picker>
  <text>选择的日期:{{selectedDate}}</text>
</view>
Page({
  data: {
    selectedDate: ''
  },
  handleDateChange: function (event) {
    const selectedDate = event.detail.value;
    this.setData({
      selectedDate: selectedDate
    });
  }
});

在示例中,使用了 mode="date" 的 Picker 组件,当用户选择日期时,会触发 bindchange 事件,然后在事件处理函数 handleDateChange 中获取选择的日期,并将其存储在页面的 data 对象中的 selectedDate 属性中。通过数据绑定,可以在页面中显示所选的日期。

通过这种方式,您可以在小程序中使用 Picker 组件来实现各种选择功能,根据不同的模式和属性设置,来满足您的特定需求。

2、日期选择器

属性名 类型 默认值 说明 最低版本
value string 当天 表示选中的日期,格式为"YYYY-MM-DD"
start string 表示有效日期范围的开始,字符串格式为"YYYY-MM-DD"
end string 表示有效日期范围的结束,字符串格式为"YYYY-MM-DD"
fields string day 有效值 year,month,day,表示选择器的粒度
bindchange eventhandle value 改变时触发 change 事件,event.detail = {value}

fields 有效值:

说明
year 选择器粒度为年
month 选择器粒度为月份
day 选择器粒度为天

3、实战

3.1 编写日期工具utils.js
class Util {

  static dateFormat(fmt, date) {

   let ret;

   const opt = {"Y+": date.getFullYear().toString(), // 年"m+": (date.getMonth() + 1).toString(), // 月"d+": date.getDate().toString(), // 日"H+": date.getHours().toString(), // 时"M+": date.getMinutes().toString(), // 分"S+": date.getSeconds().toString() // 秒// 有其他格式化字符需求可以继续添加,必须转化成字符串

   };

   for (let k in opt) {

​    ret = new RegExp("(" + k + ")").exec(fmt);if (ret) {

​     fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))};

   };

   return fmt;

  }

 

 }

 

 export {

  Util

 }
3.2 在home.js中引入utils.js
import {

  Util

} from '../../pages/order/utils.js'

// 在Page({ 中添加以下代码 })

 data: {
        year: Util.dateFormat("YYYY", new Date()),
        month: Util.dateFormat("mm", new Date()),
        date: Util.dateFormat("YYYY", new Date()) + '-' + Util.dateFormat("mm", new Date())
    },
    bindDateChange: function (event) {
        console.log('picker发送选择改变,携带值为', event.detail.value)
        const selectedDate = event.detail.value;
        const year = Util.dateFormat("YYYY", new Date(selectedDate));
        const month = Util.dateFormat("mm", new Date(selectedDate));
        this.setData({
            date: selectedDate,
            year: year,
            month: month,
        })
    },
3.3 home.wxml代码
<view>
    <view>日期选择器</view>
    <picker mode="date" fields="month" value="YYYY-MM" bindchange="bindDateChange"  end="{{year}}+'-'+{{month}}" start="{{year-5}}">
        <text>{{year}}年</text><text>{{month}}月</text>
        <view>{{date}}</view>
    </picker>
</view>
3.4 最终效果

小程序日期选择组件,小程序
小程序日期选择组件,小程序文章来源地址https://www.toymoban.com/news/detail-703456.html

到了这里,关于使用原生小程序组件Picker自定义日期时间选择器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp 小程序 picker 日期时间段选择(精确到年月日时分)

    效果图: picker时间段选择 需要引入moment.js,有可能引入后在项目内会报错,可以考虑把选择日期作为一个组件引入 1、timepage.vue组件封装 2、官网下载moment.js 下载地址 3、需要显示时间组件的页面内引用时间组件

    2024年02月09日
    浏览(57)
  • uniapp 小程序 picker 日期时间段选择(精确到年月日时分+周几)

    效果图: picker时间选择器 精确到年月日时分+周几 需要引入moment.js,有可能引入后在项目内会报错,可以考虑把选择日期作为一个组件引入 1、timepage.vue组件封装 2、官网下载moment.js 下载地址 3、需要显示时间组件的页面内引用时间组件

    2024年02月14日
    浏览(54)
  • 【uni-app】通过uni-app基础组件picker实现选择日期、时间的功能示例(完整代码+图文)

    一、获取日期(基础) 二、获取日期和时间(改进)  

    2024年02月11日
    浏览(60)
  • 原生微信小程序自定义picker多列选择器:picker写法用法

    前言:                    最近用原生微信小程序写法写医疗相关项目微信小程序,在编辑个人资料的时候,需要很多选择器,比如城市地区选择器,职业职称选择器,科室选择器,学校选择器,学历选择器,年份日期选择器........           总之用到的地方比较多

    2024年02月06日
    浏览(48)
  • element ui时间选择器el-date-picker关于日期禁用disabledDate的使用

    项目中很多场景都用到时间范围选择的组件:  这时候我们过多选择的是elment ui里面的el-date-picker组件,但是又嫌弃人家原始的这个丑陋   所以选择自己组装,有没有小伙伴像我这样写的呢: 发现始终不触发disabledDate,不会走进禁用的方法。寻思再三后,看官网介绍它并不是

    2024年02月08日
    浏览(51)
  • 在微信小程序使用picker实现日期选择

    而且选择开始时间后,选择结束时间,能够选择的日期不能比开始日期还要早。要实现以上效果可这样写: 在wxml中写

    2024年02月16日
    浏览(71)
  • 小程序日期(日历)时间 选择器组件

    封装一个小程序日期(日历)时间 选择器组件 简要说明: 一共两个版本 ,date-time-picker 和 date-time-picker-plus. date-time-picker 弹窗层是 基于 vant-weapp 的 van-popup 组件实现的 date-time-picker-plus 弹窗层是 基于 小程序 自带的 page-container 组件来实现的 * 注意:date-time-picker 需要下载 v

    2024年02月01日
    浏览(48)
  • uniapp的 picker 日期时间选择器

    效果图: dateTimePicker.js 需要用到的页面中 引入js,并调取方法 参考链接地址;https://www.cnblogs.com/anna001/p/16903451.html

    2024年02月10日
    浏览(47)
  • 微信小程序自定义日期选择器组件

    默认开始时间为当天 最大结束时间为当天 默认结束时间为开始时间的10后 wxml   js wxss

    2024年02月11日
    浏览(55)
  • el-date-picker(日期时间选择)那些事

    用于记录工作和学习中遇到的问题 vue3+element-plus 日期时间格式转换 组件默认的格式:2024-02-01T16:00:00.000Z 需要转换成:YYYY-MM-DD HH:mm:ss

    2024年02月22日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包