Ext JS 6:将日期下拉字段修改为日期时间下拉字段(三)
来源:互联网 发布:北京市人口普查数据库 编辑:程序博客网 时间:2024/06/08 17:39
完成了日期时间选择字段,要实现日期时间下拉字段就很简单了,这个只需要修改日期下拉字段的createPicker方法,将选取器换成日期时间选择字段就行了,具体代码如下:
Ext.define('Test.ux.form.field.Datetime', { extend:'Ext.form.field.Date', alias: 'widget.datetimefield', requires: ['Test.ux.picker.Datetime2'], createPicker: function() { var me = this, format = Ext.String.format; // Create floating Picker BoundList. It will acquire a floatParent by looking up // its ancestor hierarchy (Pickers use their pickerField property as an upward link) // for a floating component. return new Test.ux.picker.Datetime2({ id: me.id + '-picker', pickerField: me, floating: true, preventRefocus: true, hidden: true, minDate: me.minValue, maxDate: me.maxValue, disabledDatesRE: me.disabledDatesRE, disabledDatesText: me.disabledDatesText, ariaDisabledDatesText: me.ariaDisabledDatesText, disabledDays: me.disabledDays, disabledDaysText: me.disabledDaysText, ariaDisabledDaysText: me.ariaDisabledDaysText, format: me.format, showToday: me.showToday, startDay: me.startDay, minText: format(me.minText, me.formatDate(me.minValue)), ariaMinText: format(me.ariaMinText, me.formatDate(me.minValue, me.ariaFormat)), maxText: format(me.maxText, me.formatDate(me.maxValue)), ariaMaxText: format(me.ariaMaxText, me.formatDate(me.maxValue, me.ariaFormat)), listeners: { scope: me, select: me.onSelect, tabout: me.onTabOut }, keyNavConfig: { esc: function() { me.inputEl.focus(); me.collapse(); } } }); }});
主要修改的地方只是简单的将createPicker方法中的Ext.picker.Date替换为Test.ux.picker.Datetime2。
在使用的时候发现个问题,就是时间字段字段点不进去,经过调试,发现在日期选择字段中,当它作为日期下拉选择字段的选择器来使用的时候,会把MouseDown事件都屏蔽了,具体代码如下:
onMouseDown: function(e) { e.preventDefault(); },
我们需要做的就是重写该方法,当单击的组件是数字字段时,允许单击操作,具体代码如下:
onMouseDown: function(e) { var cmp = Ext.Component.fromElement(e.target); if (cmp.isFormField) return; e.preventDefault(); },
代码先通过触发事件的元素返回对应的组件,然后判断组件是否表单字段,如果是,则返回,不阻止事件,否则,阻止事件。
至此,日期时间下拉字段就完成了。
阅读全文
0 0
- Ext JS 6:将日期下拉字段修改为日期时间下拉字段(三)
- Ext JS 6:将日期字段修改为日期时间字段(一)
- Ext JS 6:将日期字段修改为日期时间字段(二)
- MYSQL 字段时间戳转换为可读日期时间
- 日期/时间字段的条件
- SQLite 时间日期字段问题
- js实现日期下拉框
- Js构造日期下拉框
- js控制日期下拉列表
- mysql 创建表时 日期字段默认值为当前时间
- sql截取日期时间,将日期和时间分开成2个字段
- 请教:如何将日期字段和 时间字段(000800)合并例,急急急!!
- java将日期时间字符串转成日期插入到oracle的date字段
- 为选择屏幕字段,添加下拉列表
- Oracle数据库,将日期更新为另一日期字段的年月日,不改时分秒
- JS实现关键字搜索下拉字段
- Android 的常用控件(下拉,日期,时间,单项,多项)
- oracle日期时间数据类型字段更新例子
- HDUOJ 1213 How Many Tables
- linux && boot
- hdu 4772Zhuge Liang's Password(水题)
- CSS3动画理解与应用
- 应用程序的8个关键性能指标以及测量方法
- Ext JS 6:将日期下拉字段修改为日期时间下拉字段(三)
- 《剑指offer》牛客网java题解-数值的整数次方
- <线段树系列1> codevs 1080 线段树练习
- 百度之星初赛B——Chess
- MyBatis 示例之存储过程(二)
- matlab求各点间距离
- CSS3 Transform变形理解与应用
- 基于Python的卷积神经网络和特征提取(Theano)
- 2017"百度之星"程序设计大赛