移动端时间控件 HTML5+ 的 pickDate 和 MUI 的 dtpicker 的使用与对比

本文将介绍两种移动端的时间控件 HTML5+ 的 pickDate 和 MUI 的 dtpicker,API中的内容此文不再赘述,仅从实际应用过程中的遇到的问题进行分析对比与使用方法总结。

对比分析:

1、HTML5+ 的 pickDate http://www.dcloud.io/docs/api/zh_cn/nativeui.html#plus.nativeUI.pickDate

优点:文档容易看,参数清晰,感觉上性能比mui的dtpicker要好一些

缺点:年月日的选择 pickDate 和时分秒的选择 pickTime 是分开的,需要选择两次

2、MUI 的 dtpicker http://dev.dcloud.net.cn/mui/ui/#dtpicker

优点:可以一次性选择年月日和时分秒,控件内容更丰富一点

缺点:

  • 文档稍有不清晰,比如说设置初始值部分(默认是获取当前时间)。设置value值即可。

    var dtpicker = new mui.DtPicker({
    "type": "date",
    "value":"1950-03-03 09:12"
    });
  • 数据加载不是很流畅
  • 这种mui控件,需要单独引用js和css文件,不包含在mui.js和mui.css范围内。关于引用文件的下载地址,可以通过hbuilder新建一个以hello mui为基础的移动端项目,里面就有案例和需要引用的文件。
    var dtpicker = new mui.DtPicker({
    "type": "date",
    "value":"1950-03-03 09:12"
    });

    使用总结:

    1、HTML5+ 的 pickDate

    //本例中  $this.val() = ‘2018-6-27 13:35‘  是这种格式的   主要是几个参数的设置,文档很清晰,其他根据要求来决定
    //选择日期
    function pickDate($this){
    var curD = new Date();
    var minD = new Date();
    var maxD = new Date();
    minD.setFullYear(1980, 0, 1);
    maxD.setFullYear(2036, 11, 31);
    
    var curDateArr = $this.val().split(‘ ‘)[0].split(‘-‘);
    var curTimeArr = $this.val().split(‘ ‘)[1].split(‘:‘);
    if(curDateArr) {
        curD.setFullYear(curDateArr[0],curDateArr[1]-1,curDateArr[2]);
    }
    plus.nativeUI.pickDate( function(e){
        var d=e.date;
    
        $this.val(d.getFullYear()+"-"+preZero((d.getMonth()+1),2)+"-"+preZero(d.getDate(),2));
        pickTime($this,curTimeArr);
    },function(e){
        console.log( "未选择日期:"+e.message );
    },{
        date: curD,
        maxDate: maxD,
        minDate: minD,
        title: ‘请选择日期‘,
        popover: {top:100,left:20,width:200,height:200,}
    });
    }
    //选择时间
    function pickTime($this,curTimeArr){
    var t = new Date();
    t.setHours(curTimeArr[0],curTimeArr[1]);
    plus.nativeUI.pickTime( function(e){
        var d=e.date;
        $this.val($this.val()+‘ ‘+preZero(d.getHours(),2)+":"+preZero(d.getMinutes(),2));
    },function(e){
        console.log( "未选择时间:"+e.message );
    },{
        time: t,
        is24Hour:true,
        title: ‘请选择时间‘,
        popover: {top:100,left:20,width:200,height:200,}
    });
    }

    2、MUI 的 dtpicker

    function pickerDate($this) {
    var minD = new Date();
    var maxD = new Date();
    minD.setFullYear(1980, 0, 1);
    maxD.setFullYear(2036, 11, 31);
    var dtPicker = new mui.DtPicker({
        type: ‘datetime‘,
        beginDate: minD,
        endDate: maxD,
        value: $this.val()
    });
    dtPicker.show(function (selectItems) {
        $this.val(selectItems.y.value + "-" + selectItems.m.value + "-" + selectItems.d.value + " " + selectItems.h.value + ":" + selectItems.m.value);
    });
    }

原文地址:https://www.cnblogs.com/chaoyueqi/p/9175087.html

时间: 2024-10-10 01:32:58

移动端时间控件 HTML5+ 的 pickDate 和 MUI 的 dtpicker 的使用与对比的相关文章

html5初始化时间控件

HTML5提供了一系列时间控件date.time.datetime-local.datetime.month.week ,但是都没有进行控件的初始化. 现在以最常使用的date.time控件为例,进行时间控件的初始化. <!doctype html> <html> <head>     <meta charset="UTF-8"> <title>初始化时间控件</title> </head> <b

vue小荔枝,时间控件,动态按月份增减。

依赖框架有jq,bootstrap3.0,vue2.0; 自封装(搬运)时间控件,bootstrap-datetimepicker.资源下载:看这里 需求: 默认本地时间,相隔一个月 四个选项:1一个月,一个季度,半年,一年. 如果结束日期不变,那么默认递增即可,如果结束日期改变了,以变更的日期递增月份. html结构: <div id="app"> <div class="col-md-5 form-inline"> <div cla

jquery-ui日期时间控件实现

日期控件和时间控件为独立控件,日期时间控件要同一时候导入日期控件和时间控件的js,然后在日期控件加入时间控件显示參数,没有导入时间控件js.日期控件函数设置的时间控件參将包错 日期控件官网网址:http://jqueryui.com/ 日期控件js:jquery-ui.js 相应函数及默认属性设置:function Datepicker() 时间控件官网网址:http://plugins.jquery.com/jt.timepicker/ 时间控件js:jquery-ui-timepicker-

从零开始学_JavaScript_系列(九)——dojo(2)(AJAX、时间控件、鼠标事件、样式修改、事件移除、消息发布订阅)

(21)和(22)写的不好,跳过. (23)AJAX异步加载 插件:dojo/request 参数:request 语法(get): request.get(URL).then(成功回调函数,失败回调函数); 第一个回调函数是成功的,参数用response:(也可以用其他的) 第二个回调函数是失败的,参数用error:(也可以用其他的) 注: ①读取本地比较简单,直接填写本地的url即可: ②如果读取服务器端(比如数据库),那么需要相应的支持,例如python脚本等(我自己目前对python.和

My97DatePicker时间控件

之前一直使用easyui控件无法实现只显示yyyy年MM月格式或者显示yyyyMM格式.相比My97DatePicker时间控件更为强大些. 只要在页面引用如下脚本,WdatePicker.js内部会引用其它js. <script type="text/javascript" src="<%=root%>/Common/My97DatePicker/WdatePicker.js"></script> 然后在input中编写oncl

DatePicker日期与时间控件

DatePicker日期与时间控件 一.简介 二.方法 三.代码实例 四.收获

rf对时间控件的操作

1.如何去掉readonly属性 前端对于时间控件的设置,有时是为了限制用户不能进行手动输入方式进行选择时间,避免在手动输入的时候超限或者输入格式不正确,导致一些不必要的验证麻烦,这是前端开发工程师就会在前端代码中加入readonly属性,但是对于手动测试来说的话,这种只能进行点击控件进行选择时间,而对于自动测试来说,这样的方式可能是行不通,因为这个需要认证时间控件的有效性很多个选择,自动化变得更加麻烦, 是不是就没有办法进行了呢?答案是否点的,例如: 那该怎么进行设置呢?这个是前人踩过的坑,后

VB6.0中,日期、时间控件不允许为空时,采用文本框与日期、时间控件相互替换赋值(解决方案)

VB6.0中,日期.时间控件不允许为空时,采用文本框与日期.时间控件相互替换赋值,或许是一个不错的选择. 实现效果如下图: 代码如下: 文本框txtStopTime1 时间框DTStopTime1 格式3 - dtpCustom  HH:mm:ss Private Sub Form_Load()       txtStopTime1.ZOrder       DTStopTime1.Top = txtStopTime1.Top       DTStopTime1.Left = txtStopTi

关于bootstrap时间控件datetimepicker的位置错乱问题

最近遇到datetimepicker这个时间控件在加载到网页显示时会发生错乱,具体解决如下: 1.首先我的源代码是从网站下载的:http://www.bootcss.com/p/bootstrap-datetimepicker/demo.htm 采用的源码是:sample in bootstrap v2文件夹下的: 2.考虑到位置错乱问题应该是在 js文件中,通过查找最终确定在bootstrap-datetimepicker.js中的问题:     应将其中的place:代码修改如下: plac