使用@superset-ui/embedded-sdk v4.0.1时urlParams过滤器不生效
解决Superset Embedded SDK v4.0.1动态过滤器不生效问题
问题根源
v4.0.1版本的@superset-ui/embedded-sdk对urlParams的结构做了调整,直接在urlParams下写过滤器参数不再生效,需要把过滤规则嵌套到pre_filters字段中,且要匹配过滤器的列名格式。
修正后的代码示例
dashboardUiConfig: { hideTitle: true, hideTab: true, hideChartControls: true, filters: { visible: false, expanded: false }, iframeTitle: false, urlParams: { pre_filters: { // 键名需与仪表板中过滤器的列名完全一致 level: { op: "==", value: 5 }, ou2: { op: "==", value: "Boston" } } } }
关键说明
- 必须使用
pre_filters嵌套结构,每个过滤器参数需要指定操作符(op)和值(value),常用操作符包括==、!=、>、<等,可根据过滤需求选择。 - 确保
pre_filters中的键名和仪表板里过滤器的列名完全匹配,大小写、拼写都不能出错。 - 修正后检查生成的嵌入URL,应该能看到类似
pre_filters={"level":{"op":"==","value":5},"ou2":{"op":"==","value":"Boston"}}的参数。
额外验证点
- 确认嵌入令牌拥有访问该仪表板以及修改过滤器的权限
- 检查Superset后端的
superset_config.py配置是否正确(你当前的三项配置没问题)
内容的提问来源于stack exchange,提问作者Greg Rowles
相关产品推荐
相关产品推荐

