ÎļþÃû´Ó src/sfc/LineChart.vue ÐÞ¸Ä |
| | |
| | | }, |
| | | mounted() { |
| | | this.intiChart(); |
| | | // this.chart.setOption(this.chartData) |
| | | window.addEventListener('resize', this.resizeChart); |
| | | }, |
| | | watch: { |
| | | chartData() { |
| | | // optionååæ¶ï¼å¾å½¢å次åå§å |
| | | this.setOption(); |
| | | } |
| | | }, |
| | | |
| | | }, |
| | | beforeUnmount() { |
| | | if (this.chart) { |
| | |
| | | intiChart() { |
| | | // å建echartså®ä¾ |
| | | this.chart = _echarts.init(this.$refs.chart); |
| | | |
| | | // 使ç¨åæå®çé
ç½®é¡¹åæ°æ®æ¾ç¤ºå¾è¡¨ |
| | | // this.chart.setOption(option, true); |
| | | }, |
| | | |
| | | setOption() { |
| | |
| | | toolbox: { |
| | | // å·¥å
·æ |
| | | feature: { |
| | | dataZoom: { |
| | | // åºåç¼©æ¾ |
| | | yAxisIndex: 'none' |
| | | }, |
| | | // dataZoom: { |
| | | // // åºåç¼©æ¾ |
| | | // yAxisIndex: 'none' |
| | | // }, |
| | | |
| | | // ä¿å为å¾ç |
| | | saveAsImage: {} |
| | |
| | | }, |
| | | xAxis: { |
| | | name: this.xName, |
| | | data: this.chartData.x |
| | | data: this.chartData.x, |
| | | type: 'category', |
| | | axisLabel: { |
| | | formatter: function (value) { |
| | | return value.slice(5); |
| | | } |
| | | } |
| | | }, |
| | | yAxis: { |
| | | type: 'value', |
| | |
| | | |
| | | // è·é¡µé¢ååºå¼åå |
| | | resizeChart() { |
| | | this.chart.resize(); |
| | | // this.chart.resize(); |
| | | // delay(600).then(() => this.chart.resize()); |
| | | this.$nextTick(() => { |
| | | if (this.chart) { |
| | | this.chart.resize(); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | |
| | | <style> |
| | | .line-chart { |
| | | width: 100%; |
| | | height: 500px; |
| | | height: 35vh; |
| | | margin-top: 25px; |
| | | } |
| | | </style> |