Skip to content

Commit c1201e6

Browse files
committed
修复全屏组件的布局
1 parent 64e7b75 commit c1201e6

File tree

1 file changed

+23
-13
lines changed

1 file changed

+23
-13
lines changed

src/views/instance/components/fullScreenBar.vue

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
<template>
22
<div id="fullScreenBar" class="borbox">
3-
<div class="scale-box flex flex-ai flex-jcc">
4-
<span class="proportion">{{scale * 5}}%</span>
5-
<v-slider v-model="scale" :show-tooltip="false" step="5" ticks min="5" max="100" hide-details>
3+
<div class="scale-box d-flex flex-ai flex-jcc">
4+
<span class="proportion">{{scale}}%</span>
5+
<v-slider v-model="scale" :show-tooltip="false" step="25" min="25" max="500" hide-details>
66
</v-slider>
77
</div>
8-
<div class="opt-list flex">
9-
<div class="opt flex flex-ai flex-jcc" @click="refresh">
8+
<div class="opt-list d-flex">
9+
<div class="opt d-flex flex-ai flex-jcc" @click="refresh">
1010
<i class="icon iconfont icon-zhongzhi"></i>
1111
</div>
12-
<div class="opt flex flex-ai flex-jcc" @click="exitFullScreen">
12+
<div class="opt d-flex flex-ai flex-jcc" @click="exitFullScreen">
1313
<i class="icon iconfont icon-suoxiao"></i>
1414
</div>
1515
</div>
@@ -26,26 +26,36 @@ export default {
2626
scale: 100,
2727
}
2828
},
29+
watch: {
30+
scale(newScale) {
31+
this.changeView(newScale)
32+
},
33+
},
2934
methods: {
3035
refresh() {
3136
this.$emit('runCode')
37+
setTimeout(() => {
38+
console.log('scale')
39+
this.changeView(this.scale)
40+
}, 500)
3241
},
3342
exitFullScreen() {
3443
const iframe = this.$props.getIframeBody()
3544
const style = iframe.contentWindow.document.body.style
36-
style.transformOrigin = '0 0'
37-
style.transform = 'scale(1)'
45+
style.transformOrigin = this.transformOrigin
46+
style.transform = this.transform
3847
this.$emit('exitFullScreen', false)
3948
},
40-
},
41-
watch: {
42-
scale(newScale) {
49+
changeView(newScale) {
4350
const iframe = this.$props.getIframeBody()
4451
const style = iframe.contentWindow.document.body.style
4552
newScale /= 100
46-
!style.transformOrigin && (style.transformOrigin = 'top left')
47-
style.width = `calc(100vw/${newScale})`
53+
this.transformOrigin = style.transformOrigin
54+
this.transform = style.transform
55+
this.width = style.width
56+
style.transformOrigin = 'top left'
4857
style.transform = `scale(${newScale})`
58+
style.width = `calc(100vw/${newScale})`
4959
},
5060
},
5161
}

0 commit comments

Comments
 (0)