如何获取报表全部书签列表以及按需隐藏报表书签
解决方案
1. 获取报表所有书签列表
你可以通过Power BI嵌入SDK提供的bookmarksManager接口获取全量书签,示例代码如下:
// 报表加载完成后调用 report.on("loaded", async () => { const bookmarks = await report.bookmarksManager.getBookmarks(); // bookmarks为书签数组,每个元素包含id、displayName、name等核心属性 console.log("报表书签列表:", bookmarks); });
返回的书签列表可直接用于后续自定义书签面板、跳转控制等场景。
2. 隐藏书签面板配置不生效的问题
你的代码无效是因为bookmarks配置项需要放在settings节点下,而非embedConfig根节点,正确配置如下:
let embedConfig = { // ...其他配置项(type、id、embedUrl、accessToken等) settings: { bookmarks: { visible: false } } };
如果是报表已经加载完成后需要动态切换显隐,调用updateSettings方法即可:
await report.updateSettings({ bookmarks: { visible: false } });
如果按上述配置依然不生效,可以排查两个常见原因:
- 确认你使用的
powerbi-clientSDK版本不低于v2.18.0,旧版本不支持该配置项 - 确认嵌入时授予的权限包含报表视图权限,权限不足会导致配置覆盖不生效
内容的提问来源于stack exchange,提问作者CODM LIVE
相关产品推荐
相关产品推荐

