echarts-for-react
Version:
baidu Echarts(v3.0) components for react
93 lines (90 loc) • 3.37 kB
JSX
import React from 'react';
import ReactEcharts from '../src/echarts-for-react';
const ChartWithEventComponent = React.createClass({
propTypes: {
},
getOtion: function() {
const option = {
title : {
text: '某站点用户访问来源',
subtext: '纯属虚构',
x:'center'
},
tooltip : {
trigger: 'item',
formatter: "{a} <br/>{b} : {c} ({d}%)"
},
legend: {
orient: 'vertical',
left: 'left',
data: ['直接访问','邮件营销','联盟广告','视频广告','搜索引擎']
},
series : [
{
name: '访问来源',
type: 'pie',
radius : '55%',
center: ['50%', '60%'],
data:[
{value:335, name:'直接访问'},
{value:310, name:'邮件营销'},
{value:234, name:'联盟广告'},
{value:135, name:'视频广告'},
{value:1548, name:'搜索引擎'}
],
itemStyle: {
emphasis: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
return option;
},
onChartClick: function(param, echart) {
console.log(param, echart);
alert('chart click');
},
onChartLegendselectchanged: function(param, echart) {
console.log(param, echart);
alert('chart legendselectchanged');
},
onChartReady: function(echart) {
console.log('echart is ready', echart);
},
render: function() {
let onEvents = {
'click': this.onChartClick,
'legendselectchanged': this.onChartLegendselectchanged
};
let code = "let onEvents = {\n" +
" 'click': this.onChartClick,\n" +
" 'legendselectchanged': this.onChartLegendselectchanged\n" +
"}\n\n" +
"<ReactEcharts \n" +
" option={this.getOtion()} \n" +
" style={{height: 300}} \n" +
" onChartReady={this.onChartReady} \n" +
" onEvents={onEvents} />";
return (
<div className='examples'>
<div className='parent'>
<label> Chart With event <strong> onEvents </strong>: (Click the chart, and watch the console)</label>
<ReactEcharts
option={this.getOtion()}
style={{height: 300}}
onChartReady={this.onChartReady}
onEvents={onEvents} />
<label> code below: </label>
<pre>
<code>{code}</code>
</pre>
</div>
</div>
);
}
});
export default ChartWithEventComponent;