问题描述
我正在 Kibana 中开发一个 Vega 可视化,它只显示一个项目符号列表和一个“应用”按钮。
目标是用户可以单击这些列表项中的一个或多个以选择它们,然后单击“应用”按钮。然后,“应用”按钮使用 kibanaAddFilter
函数对所有选定值应用 Kibana 过滤器。
为了实现这种多选功能,我在 Vega 中维护了一个字符串信号 selectedValues
,当用户单击带项目符号的项目时,它会更新。
信号以适当的 JSON 语法和 Kibana 过滤器查询语法进行维护,以便它可以直接传递给 kibanaAddFilter
函数进行过滤。
示例:
selectedValues = "{\"bool\":{\"must\":[{\"match\":{\"myField1\":\"SELECTED_VALUE_1\"}},{\"match\": { \"myField2\":\"SELECTED_VALUE_2\"}}]}}"
点击“应用”按钮后,我使用 selectedValues
信号的值通过将其传递给 kibanaAddFilter
来应用 Kibana 过滤器。
问题:
由于这是一个字符串信号,因此查询也作为字符串应用,这是错误的并返回“Bad Request”错误。它应该是一个 JSON 对象。
我可以将此字符串信号解析为 Vega 规范中的 JSON 对象吗?
据我观察,JSON.parse()
或任何其他 Javascript 函数在 Vega 中不起作用。
或者更确切地说,我可以以某种方式完全跳过这个字符串信号并以某种方式直接在 Vega 中维护选择,然后将选择应用为过滤器吗?
任何帮助将不胜感激。
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)