Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
RuoYi Vue
Commits
bc65e59f
Commit
bc65e59f
authored
Mar 15, 2020
by
RuoYi
Browse files
修复charts切换侧边栏或者缩放窗口显示bug
parent
56339214
Changes
1
Hide whitespace changes
Inline
Side-by-side
ruoyi-ui/src/views/dashboard/mixins/resize.js
View file @
bc65e59f
...
...
@@ -3,50 +3,54 @@ import { debounce } from '@/utils'
export
default
{
data
()
{
return
{
$_sidebarElm
:
null
$_sidebarElm
:
null
,
$_resizeHandler
:
null
}
},
mounted
()
{
this
.
$_initResizeEvent
()
this
.
$_initSidebarResizeEvent
()
},
beforeDestroy
()
{
this
.
$_destroyResizeEvent
()
this
.
$_destroySidebarResizeEvent
()
this
.
initListener
()
},
activated
()
{
this
.
$_initResizeEvent
()
this
.
$_initSidebarResizeEvent
()
if
(
!
this
.
$_resizeHandler
)
{
// avoid duplication init
this
.
initListener
()
}
// when keep-alive chart activated, auto resize
this
.
resize
()
},
beforeDestroy
()
{
this
.
destroyListener
()
},
deactivated
()
{
this
.
$_destroyResizeEvent
()
this
.
$_destroySidebarResizeEvent
()
this
.
destroyListener
()
},
methods
:
{
$_resizeHandler
()
{
return
debounce
(()
=>
{
if
(
this
.
chart
)
{
this
.
chart
.
resize
()
}
},
100
)()
},
$_initResizeEvent
()
{
window
.
addEventListener
(
'
resize
'
,
this
.
$_resizeHandler
)
},
$_destroyResizeEvent
()
{
window
.
removeEventListener
(
'
resize
'
,
this
.
$_resizeHandler
)
},
// use $_ for mixins properties
// https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential
$_sidebarResizeHandler
(
e
)
{
if
(
e
.
propertyName
===
'
width
'
)
{
this
.
$_resizeHandler
()
}
},
$_initSidebarResizeEvent
()
{
initListener
()
{
this
.
$_resizeHandler
=
debounce
(()
=>
{
this
.
resize
()
},
100
)
window
.
addEventListener
(
'
resize
'
,
this
.
$_resizeHandler
)
this
.
$_sidebarElm
=
document
.
getElementsByClassName
(
'
sidebar-container
'
)[
0
]
this
.
$_sidebarElm
&&
this
.
$_sidebarElm
.
addEventListener
(
'
transitionend
'
,
this
.
$_sidebarResizeHandler
)
},
$_destroySidebarResizeEvent
()
{
destroyListener
()
{
window
.
removeEventListener
(
'
resize
'
,
this
.
$_resizeHandler
)
this
.
$_resizeHandler
=
null
this
.
$_sidebarElm
&&
this
.
$_sidebarElm
.
removeEventListener
(
'
transitionend
'
,
this
.
$_sidebarResizeHandler
)
},
resize
()
{
const
{
chart
}
=
this
chart
&&
chart
.
resize
()
}
}
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment