PowerBI Desktop自定义视觉对象无法使用localStorage存储筛选值问题咨询
关于PowerBI Desktop自定义视觉对象本地存储能力的说明
PowerBI Desktop 目前不支持自定义视觉对象通过ILocalVisualStorageService接口实现本地数据存储,该存储能力仅在发布到PowerBI网页服务后可用。
相关说明如下:
- PowerBI Desktop 中自定义视觉对象运行在桌面端专属的WebView沙箱环境中,该环境默认禁用了
storageService对应的持久化存储能力,所有读写操作会静默执行但不会实际生效,也不会抛出显式报错,这就是你遇到的网页端正常、桌面端失效的核心原因。 - 如果需要实现跨端兼容的筛选配置持久化,建议改用PowerBI自定义视觉对象原生支持的属性持久化方案,这套方案同时兼容PowerBI Desktop和网页端,实现逻辑如下:
- 首先在自定义视觉对象的
capabilities.json文件中声明需要存储的配置字段:
{ "objects": { "filterCache": { "properties": { "filterSetting": { "type": { "string": true } } } } } }- 读取配置的代码示例:
// 在update生命周期中读取存储的配置 const savedFilter = options.dataViews[0]?.metadata?.objects?.filterCache?.filterSetting as string;- 写入配置的代码示例:
// 需要保存配置时调用 this.host.persistProperties({ merge: [{ objectName: "filterCache", properties: { filterSetting: "xyz" }, selector: null }] }); - 首先在自定义视觉对象的
内容的提问来源于stack exchange,提问作者Tobias Jung
相关产品推荐
相关产品推荐

