如何通过PowerBI-Client Embed API修改Textbox视觉对象显示文本
解决PowerBI JS API中Textbox视觉对象文本设置无效的问题
问题分析
你当前代码里修改的title.titleText,对应的是视觉对象的标题栏文本(比如柱状图、折线图上方的标题),并不是Textbox本身要显示的内容。Textbox作为特殊视觉对象,控制其内容的属性路径和常规视觉对象不一样。
正确解决方案
要修改Textbox的显示文本,需要操作textbox对象下的text属性,而非title对象。调整后的代码如下:
const pages = await report?.getPages(); const activePage = pages?.filter(page => page.isActive)[0]; const visualResponse = await activePage?.createVisual( 'textbox', { displayState: { mode: models.VisualContainerDisplayMode.Visible, }, height: 100, width: 100, x: 100, y: 100, }, true, ); // 修正属性路径,指向Textbox自身的文本属性 visualResponse?.visual.setProperty( { objectName: 'textbox', propertyName: 'text', }, { value: 'Some text to display', }, );
补充说明
- 你调用
getCapabilities()查看Textbox属性时,能找到textbox对象下的text属性,这才是控制Textbox显示内容的核心属性。 - 如果需要设置文本格式(字体、颜色、对齐方式等),可以继续操作
textbox对象下的其他子属性,比如fontFamily、color、textAlignment等。
内容的提问来源于stack exchange,提问作者Karol Świeca
相关产品推荐
相关产品推荐

