<uni-popup
ref="popup"
@open="open"
:safe-area="false"
@close="close"
type="bottom"
@maskClick="close"
></uni-popup>
data() {
return {
scrollTop: 0
};
},
beforeDestroy() {
document.body.style.position = ''
},
methods: {
open() {
this.$refs.popup.open()
this.scrollTop = document.documentElement.scrollTop || document.body.scrollTop
document.body.style.position = 'fixed'
const pageWrapperElement = document.getElementsByTagName("uni-page-wrapper")
if (pageWrapperElement && pageWrapperElement.length > 0) {
pageWrapperElement[0].style.top = `-${this.scrollTop}px`
}
},
close() {
this.$refs.popup.close()
document.body.style.position = ''
const pageWrapperElement = document.getElementsByTagName("uni-page-wrapper")
if (pageWrapperElement && pageWrapperElement.length > 0) {
pageWrapperElement[0].style.top = ''
window.scrollTo(0, this.scrollTop)
}
},
}