Files
ONE/frontend/src/views/EditorPlaceholder.vue
T

46 lines
1.2 KiB
Vue

<script setup lang="ts">
// 简易 Markdown 编辑器(占位实现,仅用于文章管理页跳转)
import { computed, ref, watch } from 'vue'
import { useRoute } from 'vue-router'
import DashboardMain from '@/components/dashboard/DashboardMain.vue'
import { allPosts } from '@/mock/data'
const route = useRoute()
const post = computed(() => {
const id = route.query.id as string | undefined
return allPosts.find((p) => p.id === id) ?? allPosts[0]
})
const title = ref('')
const content = ref('')
watch(
post,
(p) => {
if (p) {
title.value = p.title
content.value = p.content
}
},
{ immediate: true },
)
</script>
<template>
<DashboardMain title="Editor">
<div class="space-y-4 max-w-screen-lg">
<input v-model="title" class="input is-block text-lg font-bold" placeholder="Title" />
<textarea
v-model="content"
class="input is-block min-h-[400px] py-3 font-mono text-sm resize-y"
placeholder="Write in Markdown..."
/>
<div class="flex justify-end space-x-3">
<button class="button is-secondary">Save Draft</button>
<button class="button is-primary">Publish</button>
</div>
</div>
</DashboardMain>
</template>