【发布时间】:2016-09-19 11:38:18
【问题描述】:
我有一个 2 字段组合,本地商店是从外部手动加载的。 我希望这个组合在我输入和过滤时处于展开状态。
我已经用过滤器设置了监听器。过滤器工作正常。
this.listeners = {
beforequery: function(queryPlan){
me.store.clearFilter(true);
me.store.filter(filter);
return true;
}
};
问题是,当我开始输入组合时,有时它会在输入第一个字母后打开,然后折叠,即使有要显示的过滤值也是如此。我必须按下键才能看到过滤后的列表。
但是如果我通过退格键删除字符 - 它一直处于打开状态 - 实际上这就是我需要的。
我知道事件链有一些技巧,但无法确切了解如何操作。 手动调用 combo.expand() 无效。 如果我有 typeAhead=true 或者我没有,那是没有意义的。 可能这是因为我使用 displayTpl 而不是 displayField。
有什么想法吗? 提前谢谢你。
【问题讨论】:
-
这是我的解决方案。我在 BeforeExpand 事件中执行此操作。在那种情况下,我可以过滤商店。但问题是过滤后无法扩展...如果我想要过滤,我需要清除该组合的值
标签: javascript events extjs combobox extjs6-classic