sencha touch textfield清除事件

Hoo*_*pes 3 sencha-touch

我正在尝试在sencha touch中的文本字段中实现列表过滤器.例如,我有一堆联系人,当我输入字段时,它可能会按名称进行过滤.当我单击圆形X按钮清除文本字段时,我想重置过滤器以过滤所有联系人.

问题是,我似乎无法找到一种方法来检测清除按钮上的点击.似乎没有任何类型的事件,我似乎无法破解解决方法.

如果有人知道如何在sencha touch中检测文本字段清除,我会非常感激.

我已经尝试过safari和xcode模拟器,并且正在使用sencha touch 1.1.0.我错过了什么吗?当它实际上是移动应用程序时,这不是问题吗?

her*_*ano 8

您可以在文本字段内的clearIconContainerEl上侦听tap事件,或覆盖onClearIconTap方法.

Ext.setup({
    icon: 'icon.png',
    tabletStartupScreen: 'tablet_startup.png',
    phoneStartupScreen: 'phone_startup.png',
    glossOnIcon: false,
    onReady: function() {

        var searchField = new Ext.form.Search({
            name : 'search',
            placeHolder: 'Search',
            useClearIcon: true,

            onClearIconTap: function() {
                if (!this.disabled) {
                    this.setValue('');
                    console.log('onClearTap: Clear button tapped!');                       
                }
            }
        });

        var viewport = new Ext.Panel({
            fullscreen: true,
            dockedItems: [{
                xtype: 'toolbar',
                dock: 'top',
                items: [searchField]
            }]
        });

        console.log(searchField.useClearIcon);

        searchField.mon(searchField.clearIconContainerEl, {
            scope: searchField,
            tap: function() {
                if (!this.disabled) {
                    console.log('clearIconContainerEl: Clear button tapped!');
                }
            }
        });
    }
});
Run Code Online (Sandbox Code Playgroud)