From 73570100e31acddaa9d498f114c2e48967a67ee6 Mon Sep 17 00:00:00 2001 From: somonus <312677182@qq.com> Date: Thu, 3 Nov 2016 10:43:21 +0800 Subject: [PATCH] fixed #4 --- example/index.ios.js | 79 +++++++++++++++++++++++++-------- src/components/Echarts/index.js | 29 +++++++----- 2 files changed, 78 insertions(+), 30 deletions(-) diff --git a/example/index.ios.js b/example/index.ios.js index 59a2c94a..c24ef008 100755 --- a/example/index.ios.js +++ b/example/index.ios.js @@ -9,36 +9,71 @@ import { AppRegistry, StyleSheet, Text, - View + View, + TouchableOpacity } from 'react-native'; import Echarts from 'native-echarts'; export default class app2 extends Component { - render() { - const option = { - title: { - text: 'ECharts 入门示例' - }, - tooltip: {}, - legend: { - data:['销量'] - }, - xAxis: { - data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"] + constructor(props) { + super(props); + + this.state = { + option : { + title: { + text: 'ECharts 入门示例' + }, + tooltip: {}, + legend: { + data:['销量'] + }, + xAxis: { + data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"] + }, + yAxis: {}, + series: [{ + name: '销量', + type: 'bar', + data: [5, 20, 36, 10, 10, 20] + }] }, - yAxis: {}, - series: [{ - name: '销量', - type: 'bar', - data: [5, 20, 36, 10, 10, 20] - }] + text: 'test' }; + } + + changeOption() { + this.setState({ + option: { + title: { + text: 'New Chart' + }, + tooltip: {}, + legend: { + data:['销量'] + }, + xAxis: { + data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"] + }, + yAxis: {}, + series: [{ + name: '销量', + type: 'line', + data: [5, 20, 36, 10, 10, 20] + }] + } + }) + } + + render() { return ( Welcome to React Native Echarts! - + + change state + + ); } @@ -56,6 +91,12 @@ const styles = StyleSheet.create({ textAlign: 'center', margin: 30, }, + button: { + backgroundColor: '#d9534f', + padding: 8, + borderRadius: 4, + marginBottom: 20 + } }); AppRegistry.registerComponent('app2', () => app2); diff --git a/src/components/Echarts/index.js b/src/components/Echarts/index.js index c433b17a..c0e23bd8 100644 --- a/src/components/Echarts/index.js +++ b/src/components/Echarts/index.js @@ -1,21 +1,28 @@ import React, { Component } from 'react'; -import { WebView } from 'react-native'; +import { WebView, View, StyleSheet } from 'react-native'; import renderChart from './renderChart'; import echarts from './echarts.min'; export default class App extends Component { + componentWillReceiveProps(nextProps) { + if(nextProps.option !== this.props.option) { + this.refs.chart.reload(); + } + } + render() { return ( - + + + ); } } - -