Skip to content

Commit c8be280

Browse files
committed
fix(docs): lazy load issue markdown renderer
1 parent b23ce12 commit c8be280

File tree

1 file changed

+26
-6
lines changed

1 file changed

+26
-6
lines changed

apps/docs/zh/guide/issue/index.vue

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<script setup lang="ts">
2+
import type { Component } from 'vue';
23
import type { IssueForm } from './types';
34
import {
45
getBgColor,
@@ -8,8 +9,7 @@ import {
89
} from '@configs/commit-types';
910
import { ElFormItem, ElMessage } from 'element-plus';
1011
import { useData } from 'vitepress';
11-
import { computed, onMounted, reactive, ref } from 'vue';
12-
import { MarkdownRenderer } from 'x-markdown-vue';
12+
import { computed, onMounted, reactive, ref, shallowRef } from 'vue';
1313
import { fetchGitHubTags, getComponents } from './utils/data-fetcher';
1414
import {
1515
generateGitHubIssueUrl,
@@ -148,6 +148,7 @@ const texts = computed(() => i18nTexts[locale.value]);
148148
149149
const loading = ref(false);
150150
const IsPreview = ref(false);
151+
const MarkdownRenderer = shallowRef<Component | null>(null);
151152
const formRef = ref();
152153
const components = reactive<string[]>(getComponents());
153154
const versions = reactive<string[]>([]);
@@ -256,6 +257,11 @@ async function submitForm() {
256257
}
257258
258259
onMounted(async () => {
260+
const { MarkdownRenderer: MarkdownRendererComponent } = await import(
261+
'x-markdown-vue'
262+
);
263+
MarkdownRenderer.value = MarkdownRendererComponent;
264+
259265
loading.value = true;
260266
try {
261267
const tags = await fetchGitHubTags();
@@ -502,7 +508,9 @@ onMounted(async () => {
502508
{{ texts.preview.description }}
503509
</h3>
504510
<div class="gh-content">
505-
<MarkdownRenderer
511+
<component
512+
:is="MarkdownRenderer"
513+
v-if="MarkdownRenderer"
506514
:markdown="form.description || texts.preview.noDescription"
507515
/>
508516
</div>
@@ -513,7 +521,11 @@ onMounted(async () => {
513521
{{ texts.preview.reproductionSteps }}
514522
</h3>
515523
<div class="gh-content">
516-
<MarkdownRenderer :markdown="form.reproductionSteps" />
524+
<component
525+
:is="MarkdownRenderer"
526+
v-if="MarkdownRenderer"
527+
:markdown="form.reproductionSteps"
528+
/>
517529
</div>
518530
</div>
519531

@@ -523,7 +535,11 @@ onMounted(async () => {
523535
{{ texts.preview.expectedBehavior }}
524536
</h3>
525537
<div class="gh-content">
526-
<MarkdownRenderer :markdown="form.expectedBehavior" />
538+
<component
539+
:is="MarkdownRenderer"
540+
v-if="MarkdownRenderer"
541+
:markdown="form.expectedBehavior"
542+
/>
527543
</div>
528544
</div>
529545

@@ -532,7 +548,11 @@ onMounted(async () => {
532548
{{ texts.preview.actualBehavior }}
533549
</h3>
534550
<div class="gh-content">
535-
<MarkdownRenderer :markdown="form.actualBehavior" />
551+
<component
552+
:is="MarkdownRenderer"
553+
v-if="MarkdownRenderer"
554+
:markdown="form.actualBehavior"
555+
/>
536556
</div>
537557
</div>
538558
</div>

0 commit comments

Comments
 (0)