我将关闭图标添加到组合框列表项中,单击它在关闭图标处显示撤消的 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 + '}';
}
}
});
为了更好地理解,我在这里附上了剪辑
最佳答案
- 要从下拉列表中删除项目,您只需从组合框上配置的商店中删除相应的记录即可。
- 要延迟任务的执行,您可以尝试几个不同的选项。更简单的可能只是 buffer监听器上的选项。另一个是延迟任务运行器。 http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.util.DelayedTask .
- 要设置从组合框到子元素(如您的情况下的跨度)的监听器,您可以使用 delegate监听器配置上的选项。
关于javascript - Extjs 如何从 extjs 组合框中删除和撤消列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20403173/