ElemExplain.vue 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <template>
  2. <div class="elem-explain">
  3. <div class="elem-title" v-if="data.showTitle" ref="ElemTitle">
  4. {{ data.parent.topicName }}
  5. </div>
  6. <div class="elem-body" ref="ElemBody">
  7. <div
  8. class="elem-explain-no"
  9. v-if="data.parent.questionsCount > 1 && !data.isExtend"
  10. >
  11. {{ data.serialNumber }}、
  12. </div>
  13. <!-- 解答题子元件区域 -->
  14. <div class="elem-explain-elements">
  15. <elem-explain-element
  16. v-for="element in data.elements"
  17. :key="element.id"
  18. :data="element"
  19. ></elem-explain-element>
  20. </div>
  21. </div>
  22. </div>
  23. </template>
  24. <script>
  25. import ElemExplainElement from "./ElemExplainElement";
  26. export default {
  27. name: "elem-explain",
  28. components: { ElemExplainElement },
  29. props: {
  30. data: {
  31. type: Object
  32. }
  33. },
  34. data() {
  35. return {};
  36. },
  37. mounted() {
  38. this.modifyBodyStyle();
  39. },
  40. methods: {
  41. modifyBodyStyle() {
  42. let height = this.data.h;
  43. if (this.data.showTitle) {
  44. height = this.data.h - this.$refs.ElemTitle.clientHeight;
  45. }
  46. this.$refs.ElemBody.style.height = height + "px";
  47. }
  48. }
  49. };
  50. </script>