1

アプリに多くの TextField がありますが、すべて同じ問題があります。右側のクリア アイコンを押すと、このテキスト ボックスのフォーカスが失われます。

このソリューション は機能しますが、テキストフィールドごとに実行する必要があるため、効率的ではありません。

                {
                    xtype: 'textfield',
                    label: 'Name',
                    onClearIconTap: function() {
                                        this.setValue('');
                                        console.log('onClearTap');
                                    }
                }

イベントをオーバーライドしてこのページに出くわしましたが、機能しません。これは好ましい解決策です:

何か助けはありますか?

4

2 に答える 2

3

Sencha Touch 2 の app.js launch-function 内で関数をオーバーライドする方法は次のとおりです。

Ext.field.Text.override({
        onClearIconTap: function() {
            this.setValue('');
            this.focus();
            console.log('global onClearTap');
        }
    });

http://jsfiddle.net/QYJpc/46/

于 2012-10-31T12:08:40.890 に答える
0

さらに優れたソリューション (タッチ 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();
    }
});
于 2013-10-10T08:16:32.893 に答える