diff --git a/src/components/Widgets/MarkDown/index.vue b/src/components/Widgets/MarkDown/index.vue index ec9a854fe..6e2315cee 100644 --- a/src/components/Widgets/MarkDown/index.vue +++ b/src/components/Widgets/MarkDown/index.vue @@ -8,7 +8,7 @@ - + - + @@ -49,11 +49,33 @@ export default { }, data() { return { + height: 0, + resizeObserver: null, span: 12, isShow: true, iValue: this.value } }, + mounted() { + this.$nextTick(() => { + this.resizeObserver = new ResizeObserver(entries => { + // 监听高度变化 + const height = entries[0].target.offsetHeight + if (height) { + this.height = height + } + }) + const el = document.querySelector('.result-html') + this.resizeObserver.observe(el) + }) + }, + beforeDestroy() { + const el = document.querySelector('.result-html') + if (el) { + this.resizeObserver.unobserve(el) + } + this.resizeObserver = null + }, methods: { onChange() { this.$emit('change', this.iValue) @@ -76,14 +98,17 @@ export default { font-size: 13px; } ->>> .el-textarea__inner { - min-height: 210px !important; +>>> .el-textarea { + height: 100% !important; + .el-textarea__inner { + min-height: 210px !important; + height: 100% !important; + } } .source { padding: 6px; } .result-html { - height: 100%; min-height: 210px; margin-left: 4px; padding: 5px 10px;