我创建了一个datepicker字段。显示日期选择器并点击取消按钮时,它将第一个值作为默认值。我需要检查一下我可以处理日期pipcker字段
上的取消按钮的情况 case 'Date':
console.log('date value: '+value);
var dt = new Date(value);
console.log('new date: '+dt);
if (dt == 'Invalid Date' || dt == 'NaN/NaN/0NaN') {
value = '';
} else {
value = dt;
}
element = Ext.create('Ext.Container', {
layout : 'hbox',
items : [ {
xtype : 'datepickerfield',
label : label,
name : 'standTimeEdit',
defaultDateFormat : 'D M Y',
value : value,
width : '100%',
style : 'border: 0px solid gray;border-radius:10px',
listeners:{
change:function(){
value = dt;
}
cancel:function(){
console.log('cancel event fired');
}
}
} ]
});
break;
答案 0 :(得分:0)
您可以尝试使用fired when the cancel button is tapped and the values are reverted back to what they were
的日期选择器字段cancel event。
希望有所帮助:)
答案 1 :(得分:0)
我通过覆盖选择器中的取消事件解决了这个问题。
var picker = this.getPicker();
picker.on('cancel',function(){
if(defValue == ''){
if(count > 1){
picker.setValue(preVal);
dateObj.setValue({day: preVal.getDate(), month: (preVal.getMonth()+1), year : preVal.getFullYear()});
}
else{
picker.setValue(null);
dateObj.setValue(null);
count--;
}
}
});
这为我提供了选择器中取消按钮的句柄。