gpt4 book ai didi

javascript - Ext JS 组合。过滤时保持扩展

转载 作者:行者123 更新时间:2023-11-28 05:59:47 31 4
gpt4 key购买 nike

我有一个 2 字段组合,本地商店是从外部手动加载的。我希望当我输入和过滤时此组合处于展开状态。

我已经使用过滤器设置了监听器。过滤器工作正常。

 this.listeners = {
beforequery: function(queryPlan){
me.store.clearFilter(true);
me.store.filter(filter);
return true;
}
};

问题是,当我开始输入组合时,有时它会在输入第一个字母后打开,然后折叠,即使有要显示的过滤值。我必须按向下键才能查看过滤后的列表。

但是如果我通过退格键删除字符 - 它会一直打开 - 实际上这就是我需要的。

我知道事件链有一些技巧,但无法确切了解如何实现。手动调用combo.expand()没有效果。如果我有 typeAhead=true 或没有,就没有意义。可能这是因为我使用displayTpl而不是displayField。

有什么想法吗?预先感谢您。

最佳答案

不确定这是否是最佳解决方案,但您可以使用 combogetPicker() 并使用隐藏/显示自定义向其添加显示/隐藏相关的事件处理程序其中的逻辑(例如 beforehide 或任何其他适合您逻辑的逻辑)。

combo.getPicker().on(
'beforehide',
function() {
// Your hide logic here
}
);

组合选择器组件是 Ext.view.Boundlist ,所以在你的 Controller 中,类似这样的东西也应该起作用:

init: function () {
this.control({
'combo[name=myCombo] boundlist': {
beforehide: this.myHandler
}
});
}

Fiddle

关于javascript - Ext JS 组合。过滤时保持扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37376606/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com