在迁移应用程序的过程中,我使用JSAPI 3构建。X到4.x。
试图理解为什么我的“搜索”小部件在我输入它们时显示以下事件……
直到我点击我的“mincharters”的3个建议配置在“SearchSources”和建议显示。当我现在点击其中一个建议时,我得到事件:
但是我从来没有看到过允许我获取所选记录及其属性的“搜索完成”。相反,我得到一个错误:
在N.clearGraphics (Search.js:15:492) at N.search (Search.js:16:88) at D.search (Search.js:147:168) at D._handleSuggestionClick (Search.js:169:123) at Object不能读取未定义的属性(读取'remove')handleInterceptedEvent ((index):2486:380)在HTMLLIElement。<匿名>((指数):2502:456)
因为这看起来与图形相关,我确保我有
resultGraphicEnabled:假的,
在我的Search()配置。我有一些自定义CSS调整这个小部件的生活。但我也把它滚回来了,它似乎没有固定的东西。
你知道这是怎么回事吗?为什么我看到这个图形错误?谢谢。
解决了!转到解决方案。
你有这个问题的代码依赖或github回购样本吗?您是否试图在从建议中选择后才获得搜索结果?还是你想听建议?复制样本可以帮助你纠正错误。下面是Search小部件上的事件列表
谢谢你插话,雷内!我发现自己得到了很好的照顾!!
我试着复制我在第三节课上做的事情。尽管事情似乎已经改变了。我想显示建议,然后当您选择一个建议(单击它)时,我想从事件中获取该记录。
据我所知,我在3中使用了“搜索结果”。x WebAppBuilder。这似乎已经被“搜索完成”所取代了?
不要让我的代码以我可以轻易复制粘贴到CodePen的形式出现。那得花点时间。我发现,我可以让Search()在一个最小的应用程序中工作,只需要一个搜索小部件。所以这与我搜索的服务或浏览器等无关。
我所做的是将Search小部件放在另一个DOM元素中,我将它添加到view.ui中。这一切都很好,我得到一个小部件和建议。所以我看到其他事件被触发。(我把每一个有记录的事件都记录下来,试图捕捉它们。)我怀疑绑定到
当然,引用一些简化代码的错误没有帮助。
我不确定您可能做了哪些更改,但如果您只关心所选结果,那么您可以只侦听搜索完成事件,而忽略其他任何事情。
https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search.html事件搜索-…
在3x和4x之间有很多变化,事件完全不同。
谢谢你,伙计们!@ReneRubalcava——嗯,”“搜索完成”是我不太理解的。
@JoelBennett-谢谢!我理解了视图属性…但由于我的代码分布在多个JS文件中,并且正在将视图传递到设置Search()的函数中,您的评论让我再看一看,如果我传递一个document.getElementById('viewDiv')…它的工作原理!我只见树木不见森林!我现在可以睡得很香了。谢谢!