fix[Charts]: fixed charts resize mixins bug #1285 (#1290)

This commit is contained in:
LarchLiu 2018-11-02 15:07:39 +08:00 committed by Pan
parent 1d684b7632
commit 1701fcce5d
2 changed files with 13 additions and 9 deletions

View File

@ -1,6 +1,11 @@
import { debounce } from '@/utils' import { debounce } from '@/utils'
export default { export default {
data() {
return {
sidebarElm: null
}
},
mounted() { mounted() {
this.__resizeHandler = debounce(() => { this.__resizeHandler = debounce(() => {
if (this.chart) { if (this.chart) {
@ -9,14 +14,13 @@ export default {
}, 100) }, 100)
window.addEventListener('resize', this.__resizeHandler) window.addEventListener('resize', this.__resizeHandler)
const sidebarElm = document.getElementsByClassName('sidebar-container')[0] this.sidebarElm = document.getElementsByClassName('sidebar-container')[0]
sidebarElm.addEventListener('transitionend', this.sidebarResizeHandler) this.sidebarElm && this.sidebarElm.addEventListener('transitionend', this.sidebarResizeHandler)
}, },
beforeDestroy() { beforeDestroy() {
window.removeEventListener('resize', this.__resizeHandler) window.removeEventListener('resize', this.__resizeHandler)
const sidebarElm = document.getElementsByClassName('sidebar-container')[0] this.sidebarElm && this.sidebarElm.removeEventListener('transitionend', this.sidebarResizeHandler)
sidebarElm.removeEventListener('transitionend', this.sidebarResizeHandler)
}, },
methods: { methods: {
sidebarResizeHandler(e) { sidebarResizeHandler(e) {

View File

@ -32,7 +32,8 @@ export default {
}, },
data() { data() {
return { return {
chart: null chart: null,
sidebarElm: null
} }
}, },
watch: { watch: {
@ -55,8 +56,8 @@ export default {
} }
// //
const sidebarElm = document.getElementsByClassName('sidebar-container')[0] this.sidebarElm = document.getElementsByClassName('sidebar-container')[0]
sidebarElm.addEventListener('transitionend', this.sidebarResizeHandler) this.sidebarElm && this.sidebarElm.addEventListener('transitionend', this.sidebarResizeHandler)
}, },
beforeDestroy() { beforeDestroy() {
if (!this.chart) { if (!this.chart) {
@ -66,8 +67,7 @@ export default {
window.removeEventListener('resize', this.__resizeHandler) window.removeEventListener('resize', this.__resizeHandler)
} }
const sidebarElm = document.getElementsByClassName('sidebar-container')[0] this.sidebarElm && this.sidebarElm.removeEventListener('transitionend', this.sidebarResizeHandler)
sidebarElm.removeEventListener('transitionend', this.sidebarResizeHandler)
this.chart.dispose() this.chart.dispose()
this.chart = null this.chart = null