admin管理员组文章数量:1536714
2024年7月2日发(作者:)
extjs4.2 日期控件扩展
目标
Extjs4 日期控件,带年月日时分秒,效果图如下:
调用方法:
xtype
: ‘
zc_form_DatetimeField
’
实现
/**
* @Description 带时间的日期输入控件
* @author 张川(cr10210206@)
*/
('meField', {
extend:'',
alias: '_form_DatetimeField',
requires: ['mePicker'],
/**
* @cfg {String} format
* The default date format string which can be overriden for
localization support. The format must be valid
* according to {@link #parse}.
*/
format : "Y-m-d H:i:s",
/**
* @cfg {String} altFormats
* Multiple date formats separated by "|" to try when parsing a user
input value and it does not match the defined
* format.
*/
altFormats : "Y-m-d H:i:s",
createPicker: function() {
var me = this,
format = ;
//修改picker为自定义picker
return ('mePicker',{
pickerField: me,
ownerCt: t,
renderTo: ,
floating: true,
hidden: true,
focusOnShow: true,
minDate: ue,
maxDate: ue,
disabledDatesRE: edDatesRE,
disabledDatesText: edDatesText,
disabledDays: edDays,
disabledDaysText: edDaysText,
format: ,
showToday: day,
startDay: ay,
minText: format(t, Date(ue)),
maxText: format(t, Date(ue)),
listeners: {
scope: me,
select: ct
},
keyNavConfig: {
esc: function() {
se();
}
}
});
},
/**
* @private
*/
onExpand: function() {
var value = ue();
//多传一个参数,从而避免时分秒被忽略。
ue((value) ? value : new Date(),
true);
}
});
/**
* @Description 带时间选择的日历选择器
* @author 张川(cr10210206@)
*/
('mePicker', {
extend: '',//继承于
alias: '_form_DateTimePicker',//别名
okText:'确定',//确认按钮文字描述
okTip:'确定',//确认按钮提示内容
todayText : '现在',//现在按钮文字描述
todayTip : '现在',//现在按钮文字描述
renderTpl: [
'
'
'{baseCls}-arrow" href="#" role="button" title="{prevText}"
hidefocus="on" >',
'
id="{id}-middleBtnEl">{%MonthBtn(values, out)%}
'{baseCls}-arrow" href="#" role="button" title="{nextText}"
hidefocus="on" >',
'
'
class="{s}-column-header" title="{.}">', ' class="{s}-column-header-inner">{.:nitial} div>', ' | ',
---|
', ' | ',
//指定时分秒渲染框架
'
{%HourBtn(values,out)%} | ',{%MinuteBtn(values,out)%} | ',{%SecondBtn(values,out)%} | ',
'
//添加一个确认按钮渲染
'
','',
'
{
firstInitial: function(value) {
return
Initial(value);
},
isEndOfWeek: function(value) {
// convert from 1 based index to 0 based
// by decrementing value once.
value--;
var end = value % 7 === 0 && value !== 0;
return end ? '
},
renderTodayBtn: function(values, out) {
teMarkup(values.$derTree(),
out);
},
renderMonthBtn: function(values, out) {
teMarkup(values.$derTree(),
out);
},
//指定渲染方法调用
renderHourBtn: function(values, out) {
teMarkup(values.$derTree(),
out);//根据组件获得组件的html输出
},
renderMinuteBtn: function(values, out) {
teMarkup(values.$derTree(),
out);
},
renderSecondBtn: function(values, out) {
teMarkup(values.$derTree(),
out);
},
renderOkBtn: function(values, out) {
teMarkup(values.$derTree(),
out);
}
}
],
beforeRender: function () {
var me = this,_$Number=;
//在组件渲染之前,将自定义添加的时、分、秒和确认按钮进行初始化
//组件宽度可能需要调整下,根据使用的theme不同,宽度需要调整
n=new _$Number({
minValue:0,
maxValue:23,
step:1,
width:49
});
Btn=new _$Number({
minValue:0,
maxValue:59,
step:1,
width:57,
labelWidth:5,
fieldLabel:' '//在组件之前渲染 ':'
});
Btn=new _$Number({
minValue:0,
maxValue:59,
step:1,
width:57,
labelWidth:5,
fieldLabel:' '//在组件之前渲染 ':'
});
= new ({
ownerCt: me,
ownerLayout: ponentLayout(),
text: ,
tooltip: ,
tooltipType:'title',
handler:ler,//确认按钮的事件委托
scope: me
});
rent();
},
finishRenderChildren: function () {
var me = this;
//组件渲染完成后,需要调用子元素的finishRender,从而获得事件绑定
Render();
Render();
Render();
Render();
rent();
},
/**
* 确认 按钮触发的调用
*/
okHandler : function(){
var me = this,
btn = ;
if(btn && !ed){
ue(ue());
ent('select', me, );
ct();
}
return me;
},
/**
* 覆盖了父类的方法,因为父类中是根据时间的getTime判断的,因此需要对时、
分、秒分别值为0才能保证当前值的日期选择
* @private
* @param {Date} date The new date
*/
selectedUpdate: function(date){
rent([ime(date,true)]);
},
/**
* 更新picker的显示内容,需要同时更新时、分、秒输入框的值
* @private
* @param {Date} date The new date
* @param {Boolean} forceRefresh True to force a full refresh
*/
update : function(date, forceRefresh){
var me = this;
ue(rs());
ue(utes());
ue(onds());
return rent(arguments);
},
/**
* 从picker选中后,赋值时,需要从时、分、秒也获得当前值
* datetimefield也会调用这个方法对picker初始化,因此添加一个isfixed
参数。
* @param {Date} date The new date
* @param {Boolean} isfixed True 时,忽略从时分秒中获取值
*/
setValue : function(date, isfixed){
var me = this;
if(isfixed!==true){
rs(ue());
utes(ue());
onds(ue());
}
=date;
();
return me;
},
// @private
// @inheritdoc
beforeDestroy : function() {
var me = this;
if (ed) {
//销毁组件时,也需要销毁自定义的控件
y(
n,
Btn,
Btn,
);
}
rent();
}
});
版权声明:本文标题:extjs4.2 日期控件扩展 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/shuma/1719889669a804795.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
更多相关文章
xp系统PHP URI处理库 - The League of Extraordinary Gentlemen 的 URI 组件指南
PHP URI处理库 - The League of Extraordinary Gentlemen 的 URI 组件指南 uri[READ-ONLY] URI manipulation Library项目地址:https:gitcod
【sgGoogleTranslate】自定义组件:基于Vue.js用谷歌Google Translate翻译插件实现网站多国语言开发
sgGoogleTranslate源码 <template><div :id"$options.name"> <div><template><script&
360软件的×××查杀、漏洞修复等组件不能使用,提示runtime error
一、故障现象:1、360软件的×××查杀、漏洞修复等组件不能使用,提示runtime error2、暴风影音等很多软件不能正常使用3、设备管理器不能打开,提示“MMC 不能打
删除office2016专业版多余组件
一、首先打开控制面板,选择卸载程序,选中office2016专业版,如图所示,右击选择“更改” 进入如下的图片,选择添加或删除功能
Win11右键显示全部,去掉显示更多 按钮
目录 方法1 测试成功 需要两步: 方法2 使用注册表修改 方法3 使用软件修改 方法1 测试成功 需要两步: 第一步 wind r ,然后执行:
在网站上点击按钮直接聊QQ
比如有一个QQ号123456789作为你的客服QQ,需要用户在你的网页上点击按钮直接与客服对话 现在默认的情况下是不用需直接零时对话的,需要开通下. 首先访问:http:shang.qqwidgetconsult.php 用12
spire.office,Spire.Office 5.3.7组件的最新版本
spire.office,Spire.Office 5.3.7组件的最新版本 Spire.Office是面向.NET程序员的有用Office组件的集合。该集合包含.NET,wpf和Silverlight的各种Offic
iOS可能用到的开源库和第三方组件
1、通过CocoaPods安装 [AFNetworking](https:githubAFNetworkingAFNetworking)网络请求组件[FMDB](https:githubccgusfmdb)本地数据库组
win11天气小组件如何开启 Windows11开启天气组件的设置方法
Win11如何在任务栏开启天气?最近小编发现通过一个工具可以打开Win11的隐藏功能,如通过vivetool这款工具,DEV通道22518.1000已经可以在任务栏开启天气了,下面一起来看看操作方法吧!更多Windows11安装教程可以参考
(最新解决方案)关于Edge浏览器右上角的Copilot按钮不见了
问题背景:今天突然发现Edge浏览器右上角的Copilot按钮不见了,排查了一下,发现可能是浏览器自动升级到120版本后,关闭了右上角的Copilot按
重新启动计算机的按钮是,电脑重新启动按钮指示灯不灭
2011-01-26 回答 突破难关--Win XP关机故障全接触 对于Windows XP来说,由于其采用了安全性能较高的NT内核,系统运行还算稳定,除了关机速度较慢之外&
计算机无法找到组件c0000135,电脑蓝屏故障提示STOP:C0000135的解决方法
要是遇到电脑蓝屏,提示:STOP:C0000135 UNKNOWN HARD ERROR的错误怎么办?电脑蓝屏故障很多人都有遇到过,这也是电脑最常见的问题之一了。下面跟小编一
腾讯视频云trtc-room小程序组件使用
< trtc-room >是目前腾讯推出的多端实时音视频的处理方案,官方地址介绍。这里记录一下个人使用这个组件的一些经验。 用上TRTC后,各端互通,甚至可以用小程序,在QQ和微信互通,在网页端,pc端都有很好的支持(Elect
腾讯推出移动端动画组件PAG,释放设计生产力!
如今,短视频应用百花齐放,为了吸引更多流量,动画设计师和开发工程师往往为了制作夺人眼球,极具创意的动画特效花费大量心血,但最终动画
手把手教你在Next.js 13中利用React Server组件实现国际化
随着 Next.js 13和 App Router 测试版的推出,React Server Components 开始公开可用。这种新范例允许不需要 React 交互功能的组件(例如useStat
win11的WiFi按钮不见了没有了
我的电脑是WLAN AutoConfig服务没有启动 搜索“服务” 找到WLAN AutoConfig启动它 我的win11的WiFi图标就回来了
谷歌Chrome浏览器的翻译按钮不见了
方法:在谷歌浏览器的 设置 里选择 高级--> 语言 把 询问是否翻译非您所用语言的网页 选上; 打开一个英文网页,右键 ——>翻成中文 就OK了。右上的翻译
360安全服务器组件怎样禁止,如何禁用360安全浏览器服务组件?如何正确的操作...
使用过360浏览器的用户都知道360浏览器是一个喜欢捆绑组件的服务软件,用户可以使用在平台上获取更多的资源,其实只要简单的几步就可以马上阻绝这些垃圾组件的运行,用户如果想要使
TIM(QQ)提示:安全组件异常,错误代码:0x00008c02
TIM(QQ)提示:安全组件异常,错误代码:0x00008c02 参考文章: (1&
360浏览器网页按钮点击无效
把360浏览器兼容模式设置为ie8 (地址栏右边点闪电(极速模式)换成e(兼容模式),然后右击网页空白部分->切换兼容性模式
推荐文章
热门文章
怎样解决win10的粘滞键问题?
7小时前
最新文章
cmd和dos的区别
1秒前计算机系统软件和应用软件的区别
31秒前UEFI和传统引导的区别
1分钟前小米手机肿么还原时钟
29天前15000流明是多少瓦
29天前一般普通投影机功率多大?
29天前苹果绿联转换器有些投影机不能用
29天前坚果V9投影机具体参数?
29天前80后90后_高一作文
1月前ZXMVC8900(V3
1月前
发表评论