gpt4 book ai didi

javascript - Dojo FilteringSelect - 防止自动打开下拉菜单

转载 作者:行者123 更新时间:2023-11-28 01:34:09 25 4
gpt4 key购买 nike

我使用 dojo.form.FilteringSelect 作为类似 google 的建议器。根据输入的字符串,我通过 AJAX 获取值列表并将它们放入小部件的存储中。此过程在每次 keyUp 之后启动。我遇到的问题是,下拉列表会自动打开,试图在 AJAX 响应到达之前在其存储(由旧值填充)中找到键入的字符串。我想禁用此行为并在获得结果后自行调用 openDropDown() 。有什么优雅的方法可以做到这一点吗?像这样的东西:

var fs = new dojo.form.FilteringSelect({
automaticDropDown: false // I am looking for a property like this one
});

最佳答案

我真的不认为有一种方法可以轻松做到这一点。您所做的(据我了解)是绑定(bind)一个 keyUp 事件处理程序并手动修改存储。

最好的办法是创建自己的商店(或者使用dojo/store/JsonRest)并覆盖query()函数。该函数实际上负责为您提供与查询匹配的数据子集。如果您想更改执行该查询时从商店返回的数据,那么您应该在那里修改它。

这种方法的好处是,您不需要定义自己的事件处理程序并开始从外部自行过滤存储,因为这已经以另一种方式实现了。下拉菜单只会在 query() 函数执行后打开,因此执行顺序不会有问题。

关于javascript - Dojo FilteringSelect - 防止自动打开下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21737219/

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