Yuyy
Yuyy
  • 发布:2017-11-09 17:22
  • 更新:2017-11-09 17:44
  • 阅读:4585

请问 mui日期时间选择器,第二次点击能默认显示上一次点击选中的时间吗?

分类:MUI

现在mui的sample中,每次打开都是选中当前时间,我想设置为如果第一次选择了某个时间,第二次打开时,默认选中上次选中的时间。。该怎么去做?希望大神指教!

2017-11-09 17:22 负责人:无 分享
已邀请:
MUI_Charles

MUI_Charles

以下为dtpicker.html内的示例代码

(function($) {  
$.init();  
var result = $('#result')[0];  
var btns = $('.btn');  
btns.each(function(i, btn) {  
    btn.addEventListener('tap', function() {  
        var _self = this;  
        if(_self.picker) {  
            _self.picker.show(function (rs) {  
                result.innerText = '选择结果: ' + rs.text;  
                _self.picker.dispose();  
                _self.picker = null;  
            });  
        } else {  
            var optionsJson = this.getAttribute('data-options') || '{}';  
            var options = JSON.parse(optionsJson);  
            var id = this.getAttribute('id');  
            /*  
             * 首次显示时实例化组件  
             * 示例为了简洁,将 options 放在了按钮的 dom 上  
             * 也可以直接通过代码声明 optinos 用于实例化 DtPicker  
             */  
            _self.picker = new $.DtPicker(options);  
            _self.picker.show(function(rs) {  
                /*  
                 * rs.value 拼合后的 value  
                 * rs.text 拼合后的 text  
                 * rs.y 年,可以通过 rs.y.vaue 和 rs.y.text 获取值和文本  
                 * rs.m 月,用法同年  
                 * rs.d 日,用法同年  
                 * rs.h 时,用法同年  
                 * rs.i 分(minutes 的第二个字母),用法同年  
                 */  
                result.innerText = '选择结果: ' + rs.text;  
                /*   
                 * 返回 false 可以阻止选择框的关闭  
                 * return false;  
                 */  
                /*  
                 * 释放组件资源,释放后将将不能再操作组件  
                 * 通常情况下,不需要示放组件,new DtPicker(options) 后,可以一直使用。  
                 * 当前示例,因为内容较多,如不进行资原释放,在某些设备上会较慢。  
                 * 所以每次用完便立即调用 dispose 进行释放,下次用时再创建新实例。  
                 */  
                    _self.picker.dispose();  
                    _self.picker = null;  
                });  
            }  

        }, false);  
    });  
})(mui);

由于dtpicker被释放,所以下一次选择时的初始化时间被重置了。
所以只需注释dispose或者把上一次选择的时间保存在变量里,在下一次初始化时加入初始化参数beginDate即可。

该问题目前已经被锁定, 无法添加新回复