<template> <div class="elem-explain"> <div v-if="data.showTitle" ref="ElemTitle" class="elem-title" :style="nameStyles" > {{ data.parent.topicName }} </div> <div class="elem-body" ref="ElemBody"> <div class="elem-explain-no" v-if="data.parent.questionsCount > 1 && !data.isExtend" > {{ data.serialNumber }}、 </div> <!-- 解答题子元件区域 --> <div class="elem-explain-elements"> <elem-explain-element v-for="element in data.elements" :key="element.id" :data="element" ></elem-explain-element> </div> </div> </div> </template> <script> import ElemExplainElement from "./ElemExplainElement"; export default { name: "elem-explain", components: { ElemExplainElement }, props: { data: { type: Object, }, }, data() { return {}; }, computed: { nameStyles() { return { fontWeight: this.data.parent.nameFontWeight, fontSize: this.data.parent.nameFontSize, }; }, }, mounted() { this.modifyBodyStyle(); }, methods: { modifyBodyStyle() { let height = this.data.h; if (this.data.showTitle) { height = this.data.h - this.$refs.ElemTitle.clientHeight; } this.$refs.ElemBody.style.height = height + "px"; }, }, }; </script>