javascript - 在 Autodesk Forge Viewer 中,搜索功能在查找具有单个字符值的属性时不起作用
问题描述
我想找到一个 2D 文件的组件,其属性“TAG”等同于“F”。为此,我正在尝试使用 viewer.search 功能。更具体地说,我正在做这个电话:
this.viewer.search('F', searchCallback, searchCallbackErr, 'TAG');
当然,这是一个测试,所以我确信这个对象存在这个确切的属性,正如你在 这个截图中看到的那样
虽然,当调用成功回调函数时,id 数组是空的。我注意到这发生在涉及单个字符值的所有其他搜索过程中。我还注意到,当我执行这样的搜索时,在这种情况下,每个包含“F”的值都会在查看器的属性窗口中突出显示(您也可以在前面的屏幕截图中注意到)。请注意,当我查找它的其他属性“DESC3”(等于“L1”)时,对同一组件的搜索是有效的。
我错过了什么?预先感谢您的帮助!我已经被困在这里很长一段时间了。
解决方案
如果我看您的屏幕截图,它显示的是 TAG1,而不是 TAG,这可能是您的问题吗?无论如何,验证这一点的一种方法是选择具有您的属性的对象并在调试器中运行此代码
NOP_VIEWER.model.getBulkProperties(NOP_VIEWER.getSelection(), null, console.log)
仔细查看properties数组,注意有一个displayName和一个attributeName——搜索使用的是attributeName,但界面会使用displayName。确定要搜索的属性名称后,运行此代码。对于我的测试,我正在使用这个例子
NOP_VIEWER.model.search("Yes", console.log, console.error, ["Show Title"])
对于最后一个参数,请注意它可以是字符串或字符串数组。还有一个未记录的参数(第 5 个参数)用于告诉您是否要搜索隐藏参数(默认为 false)。
NOP_VIEWER.model.search("Yes", console.log, console.error, ["Show Title"], { searchHidden: true })
是的,搜索需要多个字符。例如
NOP_VIEWER.model.search("1", console.log, console.error)
returns []
NOP_VIEWER.model.search("4", console.log, console.error)
returns []
but
NOP_VIEWER.model.search("4'", console.log, console.error)
returns a list of objects
推荐阅读
- php - 使用 PHP 上传更大的文件失败
- python - 如何使用 Dash HTML 组件显示 html 文件
- machine-learning - Google Cloud Platform 加载 2G 数据集收费 10 美元
- sql - 无法访问数据库
- linux - 只获取不断轮询的 shell 命令的一个值
- node.js - 正文解析器在快速路由器中记录空对象
- ruby-on-rails - Rails Active Storage "attach" ArgumentError(参数数量错误(给定 0,预期为 1)):
- svelte - Svelte/Sapper:无法在 sapper 构建中获取动态导入的模块
- flutter - Flutter列中的Laggy SizeTransition动画?
- actionscript-3 - 如何在actionstipt 3中创建音频变形效果?