我的应用中有很多TextFields,都有同样的问题: 按下右侧的清除图标后,此文本框的焦点将丢失。
This solution有效,但效率不高,因为我必须为每个文本字段执行此操作:
{
xtype: 'textfield',
label: 'Name',
onClearIconTap: function() {
this.setValue('');
console.log('onClearTap');
}
}
我遇到this page,覆盖了该事件,但它不起作用。这将是一个首选的解决方案:
任何帮助?
答案 0 :(得分:3)
以下是如何在Sencha Touch 2的app.js启动功能中覆盖该功能:
Ext.field.Text.override({
onClearIconTap: function() {
this.setValue('');
this.focus();
console.log('global onClearTap');
}
});
答案 1 :(得分:0)
更好的解决方案(适用于touch 2.3.0):
Ext.define('MyApp.override.field.Text', {
override: 'Ext.field.Text',
// @private
doClearIconTap: function(me, e) {
me.setValue(this.originalValue);
me.focus();
//sync with the input
me.getValue();
}
});