123456789101112131415161718192021222324252627282930313233343536373839 |
- <template>
- <div class="p-4">
- <a-button @click="toggleTheme" class="mb-2" type="primary">黑暗主题</a-button>
- <MarkDown :value="value" @change="handleChange" ref="markDownRef" />
- </div>
- </template>
- <script lang="ts">
- import { defineComponent, ref, unref } from 'vue';
- import { MarkDown, MarkDownActionType } from '/@/components/Markdown';
- export default defineComponent({
- components: { MarkDown },
- setup() {
- const markDownRef = ref<Nullable<MarkDownActionType>>(null);
- const valueRef = ref(`
- # title
- # content
- `);
- function toggleTheme() {
- const markDown = unref(markDownRef);
- if (!markDown) return;
- const vditor = markDown.getVditor();
- vditor.setTheme('dark');
- }
- function handleChange(v: string) {
- valueRef.value = v;
- }
- return {
- value: valueRef,
- toggleTheme,
- markDownRef,
- handleChange,
- };
- },
- });
- </script>
|