1.11.0 • Published 5 days ago

@visactor/wx-vchart v1.11.0

Weekly downloads
-
License
MIT
Repository
-
Last release
5 days ago

@visactor/wx-vchart

@visactor/wx-vchart 是 VChart 为微信小程序封装的图表组件库,用于支持微信小程序上的图表渲染。支持通过 npm 方式引入。

该组件库只是做了环境的封装,配置项以及 API 同 VChart 完全一致,对应的文档详见 VChart

环境要求

微信开发者工具

API

@visactor/wx-vchart 图表组件使用示例如下:

<chart
  canvas-id="chart"
  spec="{{ spec }}"
  styles="{{ styles }}"
  events="{{ events }}"
  bind:chartinit="onChartInit"
  bind:chartready="onChartReady"
/>
  • canvas-id 为图表 id,与 dom 的 id 一致,请确保 id 不重复。
  • spec 是 VChart 的核心概念,跨端组件的 spec 与 PC 端保持一致。图表配置例子可以参见 VChart 图表示例 。对于不熟悉 VChart 的用户,可以参见 快速开始 VChart 教程。
  • styles 为图表容器样式,可以用于控制图表宽高等样式。
  • events 是一个对象数组,用于注册一系列事件,其定义如下,具体的事件名称、事件筛选配置以及回调函数的参数详见 VChart 事件 API
interface IEvent {
  /**
   * 事件的名称
   */
  type: string;
  /**
   * 事件 API 中的事件筛选配置
   */
  query?: object;
  handler: (event) => void;
}
  • bind:chartinit 是一个回调函数,在图表初始化完成后调用。
  • bind:chartready 是一个回调函数,在图表完成渲染后调用。

如何使用

除了阅读下面的使用说明,也可以直接移步 wx-vchart-example

前提

在使用 VChart 微信小程序组件库前,请确保你已经了解过微信开放平台的相关文档介绍。

Step1: 开启 npm 能力

开启编辑器 > 工具 > 构建 npm,具体操作可阅读开启 npm 能力

Image

务必注意:npm 包的 package.json 文件需要在 project.config.json 所定义的 miniprogramRoot 内。

Step2: 安装 @visactor/wx-vchart

$ npm install @visactor/wx-vchart

Step3: 创建 demo 页面

请使用微信开发者工具创建页面模板

Step4: 引用组件

在 index.json 中配置如下内容即可,使用 chart 自定义组件。

{
  "usingComponents": {
    "chart": "@visactor/wx-vchart/index"
  }
}

Step5: 创建图表

  1. index.ttml 准备如下的 xml 结构:
<chart
  canvas-id="chart"
  spec="{{ spec }}"
  styles="{{ styles }}"
  events="{{ events }}"
  bind:chartinit="onChartInit"
  bind:chartready="onChartReady"
/>
  1. index.js 中准备图表的所需的配置
Page({
  data: {
    canvasId: 'chartId', // canvasId 图表唯一Id
    events: [], // events 自定义事件
    styles: `
      height: 50vh;
      width: 100%
    `, // 样式字符
    // 图表配置项
    spec: {
      type: 'pie',
      data: [
        {
          id: 'data1',
          values: [
            { value: 335, name: '直接访问' },
            { value: 310, name: '邮件营销' },
            { value: 274, name: '联盟广告' },
            { value: 123, name: '搜索引擎' },
            { value: 215, name: '视频广告' }
          ]
        }
      ],
      outerRadius: 0.6,
      categoryField: 'name',
      valueField: 'value'
    }
  },
  onLoad: function (options) {}
});

注意事项

  1. 微信小程序现阶段由于序列化问题,还不支持在 setData 以及 triggerEvent 中传递复杂对象及函数,只支持可序列号的数据。因此 events 功能, chartinit 回调参数, chartready 回调参数暂不可用

针对一些需要使用到 chart 实例的功能,目前可以通过 selectComponent ,在给组件 <chart id="chart1"> 标明 id 属性后,通过 selectComponent 拿到图表实例,如下所示:

onChartReady() {
	console.log('chart 实例渲染完成');
	this.selectComponent("#chart1", res => {
		const chartInstance = res && res.chart; // 获取 chart 实例
    console.log('获取 VChart 实例', chartInstance);
	});
},

问题反馈

如果在使用过程中发现问题,欢迎在 GitHub issues 中向我们反馈,非常感谢!

如何开发

使用微信开发者工具,选择【小程序】导入本项目即可。

1.11.1-alpha.0

5 days ago

1.10.7-alpha.0

5 days ago

1.10.6

6 days ago

1.11.0

6 days ago

1.10.6-alpha.2

8 days ago

1.11.0-alpha.3

7 days ago

1.10.6-alpha.0

16 days ago

1.10.6-alpha.1

16 days ago

1.10.5

19 days ago

1.10.5-alpha.1

1 month ago

1.9.4-alpha.3

1 month ago

1.10.4

1 month ago

1.11.0-alpha.2

2 months ago

1.10.3

2 months ago

1.9.4-alpha.2

2 months ago

1.10.2

2 months ago

1.10.3-alpha.0

2 months ago

1.11.0-alpha.1

2 months ago

1.10.2-alpha.4

2 months ago

1.11.0-alpha.0

2 months ago

1.10.2-alpha.3

2 months ago

1.10.2-alpha.2

2 months ago

1.10.2-alpha.1

2 months ago

1.10.2-alpha.0

2 months ago

1.8.5-hotfix.5

2 months ago

1.8.5-hotfix.4

2 months ago

1.10.1

2 months ago

1.10.0-alpha.9

2 months ago

1.10.0

2 months ago

1.9.7

2 months ago

1.10.0-alpha.10

2 months ago

1.10.1-alpha.1

2 months ago

1.10.1-alpha.0

2 months ago

1.8.5-hotfix.3

2 months ago

1.9.6-alpha.7

2 months ago

1.9.6-alpha.8

2 months ago

1.9.6-alpha.6

2 months ago

1.8.5-hotfix.2

2 months ago

1.10.0-alpha.6

2 months ago

1.10.0-alpha.7

2 months ago

1.10.0-alpha.8

2 months ago

1.9.6-alpha.3

2 months ago

1.9.6

2 months ago

1.9.6-alpha.4

2 months ago

1.9.6-alpha.5

2 months ago

1.10.0-alpha.5

2 months ago

1.9.6-alpha.2

2 months ago

1.9.6-alpha.1

2 months ago

1.9.6-alpha.0

2 months ago

1.9.5

2 months ago

1.10.0-alpha.4

2 months ago

1.9.5-alpha.0

2 months ago

1.9.4

3 months ago

1.9.4-alpha.1

3 months ago

0.10.0-alpha.3

3 months ago

1.9.3-hotfix.0

3 months ago

1.9.3-alpha.2

3 months ago

0.10.0-alpha.2

3 months ago

1.9.4-alpha.0

3 months ago

1.10.0-alpha.1

3 months ago

1.9.3-alpha.0

3 months ago

1.9.3-alpha.1

3 months ago

1.9.3

3 months ago

1.10.0-alpha.0

3 months ago

1.9.2

3 months ago

1.8.11

3 months ago

1.9.1

3 months ago

1.9.1-alpha.0

4 months ago

1.9.0-alpha.3

4 months ago

1.9.0-alpha.2

4 months ago

1.9.0

4 months ago

1.8.10

4 months ago

1.8.10-alpha.0

4 months ago

1.9.0-alpha.1

4 months ago

1.8.5-hotfix.1

4 months ago

1.8.9

4 months ago

1.8.8

4 months ago

1.8.8-alpha.0

4 months ago

1.8.8-alpha.1

4 months ago

1.8.5-hotfix.0

4 months ago

1.8.7

4 months ago

1.8.7-alpha.0

4 months ago

1.8.6

4 months ago

1.8.5

4 months ago

1.8.4

4 months ago

1.6.9

5 months ago

1.8.3

5 months ago

1.8.3-alpha.0

5 months ago

1.6.8

5 months ago

1.8.2

5 months ago

1.9.0-alpha.0

5 months ago

1.8.1

5 months ago

1.8.0

5 months ago

1.8.0-beta.0

5 months ago

1.7.5

5 months ago

1.8.0-alpha.0

5 months ago

1.7.4

5 months ago

1.7.3

5 months ago

1.7.2

6 months ago

1.7.1

6 months ago

1.7.1-alpha.0

6 months ago

1.7.0

6 months ago

1.7.0-alpha.2

6 months ago

1.7.0-alpha.1

6 months ago

1.6.7

6 months ago

0.16.17-alpha.0

6 months ago

1.6.6-beta.1

6 months ago

0.16.17-alpha.2

6 months ago

1.6.6

6 months ago

1.6.5

6 months ago

1.6.4

6 months ago

1.7.0-alpha.0

6 months ago

1.6.3

6 months ago

1.6.2

6 months ago

1.6.1

6 months ago

1.6.1-alpha.0

6 months ago

1.6.0-beta.0

6 months ago

1.6.0

6 months ago

1.5.4

7 months ago

1.5.4-alpha.0

7 months ago

1.5.3

7 months ago

1.6.0-alpha.0

7 months ago

1.5.3-alpha.0

7 months ago

1.5.2-hotfix.0

7 months ago

1.5.2

7 months ago

1.5.2-alpha.0

7 months ago

1.5.1

7 months ago

1.5.1-alpha.6

7 months ago

1.5.1-alpha.5

7 months ago

1.4.3

7 months ago

1.5.1-alpha.4

7 months ago

1.4.2

7 months ago

1.5.1-alpha.3

7 months ago

1.5.1-alpha.2

7 months ago

1.5.1-alpha.1

7 months ago

1.5.1-alpha.0

7 months ago

1.4.2-alpha.0

8 months ago

1.4.2-beta.1

8 months ago

1.4.2-beta.0

8 months ago

1.4.1

8 months ago

1.4.1-alpha.1

8 months ago

1.4.1-alpha.0

8 months ago

1.5.0

8 months ago

1.4.0

8 months ago

1.4.0-beta.2

8 months ago

1.4.0-beta.1

8 months ago

1.4.0-alpha.7

8 months ago

1.4.0-alpha.6

8 months ago

1.4.0-alpha.5

8 months ago