Extjs如何从extjs组合框中删除和撤消列表项

时间:2013-12-05 14:53:55

标签: javascript extjs extjs4

我将关闭图标添加到组合框列表项中,点击它在关闭图标处显示撤消的cloes图标3秒钟。 3秒后,列表项应从列表中删除。如果使用者点击撤消它不应该删除。 在这里,我附上代码:

Ext.define('ezdi.view.SaveSearchComboboxView', {
    extend : 'Ext.form.field.ComboBox',
    alias : 'widget.saveSearchComboboxAlias',
    queryMode : 'local',
    id : 'saveSearchComboId',
    store : 'SaveSearchComboboxStore',
    emptyText : 'Saved Searches',
    displayField : 'searchQueryName',
    valueField : 'searchQueryId',
    lazyInit: false,
    listeners : {
        focus : function (combo) {
            combo.expand();
        }

    },
    listConfig : {
        getInnerTpl : function (displayField) {
            return '<span style="float:right;"><button width:16px height:16px; class="savedSearchRemove">x</button><button width:16px height:16px; style="display:none;" class="undoSearchRemove">Undo</button></span>{' + displayField + '}';
        }
    }

}); 

为了更好地理解,我在这里附上了剪辑 close icon with combo

1 个答案:

答案 0 :(得分:2)

  1. 要从下拉列表中删除项目,只需从组合框中配置的商店中删除相应的记录。
  2. 要延迟任务的执行,您可以尝试一些不同的选项。更简单的可能只是侦听器上的buffer选项。另一个是延迟的任务运行员。 http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.util.DelayedTask
  3. 要从组合框设置一个侦听器,直到你的情况下像一个span这样的子元素,你可以在监听器配置上使用delegate选项。