当我使用 JavaScript On Screen Menu 示例时,OnScreenMenuButtonType 的按钮不显示图标

When I use the JavaScript On Screen Menu example, the button of OnScreenMenuButtonType doesn't show the icon

不知道为什么,文档里的例子可以显示图标,我写的不显示 enter image description here

this.SpecChart.addOnScreenMenu(
        [
          [
            // Default buttons
            OnScreenMenuButtonType.ZoomInX,
            OnScreenMenuButtonType.ZoomOutX,
            OnScreenMenuButtonType.ZoomInY,
            OnScreenMenuButtonType.ZoomOutY,
            OnScreenMenuButtonType.ZoomToFit,
            OnScreenMenuButtonType.ToggleAnimations,
            // cusrom button
            {
              dimensions: { rows: 1, columns: 1 },
              label: "Show Heatmap",
              opacity: "1",
              color: "blue",
              shape: OnScreenMenuButtonShape.RoundedRectangle,
              action: this.show,
            },
          ],
        ],
        OnScreenMenuButtonShape.RoundedRectangle
      );

您已设置:this.show。不就是show吗。顺便说一下。你的自定义按钮图标 属性 在哪里?

最后一个是自定义按钮。我的问题是前几个黄色按钮不显示icons.I知道自定义按钮可以设置图标url

如图所示

这可能是由于 LightningChart 无法访问其资源文件夹造成的。 OnScreenMenu 图片与库一起分布在 resources 文件夹中,但库本身不知道它位于何处。

这里有 link 到 API 文档中的相关项目以了解更多信息:https://www.arction.com/lightningchart-js-api-documentation/v3.4.0/interfaces/lightningchartoptions.html#resourcesbaseurl

您可以尝试使用以下代码片段进行快速修复,它告诉 LightningChart 从 CDN 服务中查找 resources 文件夹 - 这非常慢,我不建议在任何情况下这样做长期解决方案。

const chart = lightningChart({
   resourcesBaseUrl: "https://cdn.jsdelivr.net/npm/@arction/lcjs@3.4.0/dist/resources",
}).ChartXY();

// ... add OnScreenMenu inside the chart ...

对于长期解决方案,您必须将 resources 文件夹下载到您的项目,设置文件服务器并使用 resourcesBaseUrl 向文件服务器提供 URL选项。