在Blazor中使用ECharts

其实意外的简单,因为有现成的包可以用,不过文档并没有写全,有些地方需要解释一下。

Github地址:https://github.com/lishewen/Blazor.ECharts

基本上照着README.md弄就差不多了,这里只说具体的用法

首先确定你使用哪种图标,这里以line为例,则使用ELine组件:

<ELine Option="_dayOption"></ELine>

注意到这里我并没有使用Demo推荐的写法,而是将option通过对象的方式载入,那么就需要定义_dayOption变量了:

    private EChartsOption<LineOption> _dayOption = new EChartsOption<LineOption>()
    {
        XAxis = new List<XAxis>()
        {
            new XAxis()
            {
                Data = new List<string>() { "111" }
            }
        },
        YAxis = new List<YAxis>()
        {
            new YAxis()
            {
                AxisLabel = new AxisLabel()
                {
                    Formatter = new JFunc("yAxisFormatter")
                }
            }
        },
        Series = new List<object>()
        {
            new LineOption()
            {
                AreaStyle = new AreaStyle(),
                Smooth = true,
                Data = new List<int>() { 114514 }
            }
        },
        Tooltip = new Tooltip()
        {
            Formatter = new JFunc("tooltipFormatter"),
            Trigger = TooltipTrigger.Axis
        }
    };

这里是我实际使用的一个实例,可以看到我使用了Formatter,这里用JFunc来避免转译成字符串导致无法使用JS Function的问题,理论上这里也可以替换成JS函数定义,不过我已经把函数定义写到js文件里了,这里只使用函数名。剩下的就是按部就班,根据js版的option进行配置即可。

顺便说一下我使用此方法而不使用Demo中的方法的原因:使用该方法方便将动态数据导入图表,使用Demo的方法难以拼接字符串(也有可能是我的用法不对)

发表评论