diff --git a/src/views/dashboard/admin/components/LineChart.vue b/src/views/dashboard/admin/components/LineChart.vue index 727c4a5f..e654168d 100644 --- a/src/views/dashboard/admin/components/LineChart.vue +++ b/src/views/dashboard/admin/components/LineChart.vue @@ -33,8 +33,7 @@ export default { }, data() { return { - chart: null, - sidebarElm: null + chart: null } }, watch: { @@ -58,6 +57,10 @@ export default { this.chart = null }, methods: { + initChart() { + this.chart = echarts.init(this.$el, 'macarons') + this.setOptions(this.chartData) + }, setOptions({ expectedData, actualData } = {}) { this.chart.setOption({ xAxis: { @@ -126,10 +129,6 @@ export default { animationEasing: 'quadraticOut' }] }) - }, - initChart() { - this.chart = echarts.init(this.$el, 'macarons') - this.setOptions(this.chartData) } } } diff --git a/src/views/dashboard/admin/components/mixins/resize.js b/src/views/dashboard/admin/components/mixins/resize.js index 56758874..bcd17bf0 100644 --- a/src/views/dashboard/admin/components/mixins/resize.js +++ b/src/views/dashboard/admin/components/mixins/resize.js @@ -14,6 +14,8 @@ export default { this.$_destroyResizeEvent() this.$_destroySidebarResizeEvent() }, + // to fixed bug when cached by keep-alive + // https://github.com/PanJiaChen/vue-element-admin/issues/2116 activated() { this.$_initResizeEvent() this.$_initSidebarResizeEvent() @@ -25,11 +27,6 @@ export default { methods: { // use $_ for mixins properties // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential - $_sidebarResizeHandler(e) { - if (e.propertyName === 'width') { - this.$_resizeHandler() - } - }, $_resizeHandler() { return debounce(() => { if (this.chart) { @@ -43,6 +40,11 @@ export default { $_destroyResizeEvent() { window.removeEventListener('resize', this.$_resizeHandler) }, + $_sidebarResizeHandler(e) { + if (e.propertyName === 'width') { + this.$_resizeHandler() + } + }, $_initSidebarResizeEvent() { this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0] this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler)