这是基于vue-vben-admin 模板适用于abp Vnext的前端管理项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

135 lines
2.9 KiB

<template>
<div class="components-container">
<aside>
Markdown is based on
<a
href="https://github.com/nhnent/tui.editor"
target="_blank"
>tui.editor</a> simply wrapped with Vue.
<a
target="_blank"
href="https://armour.github.io/vue-typescript-admin-docs/features/components/markdown-editor.html"
>
Documentation </a>
</aside>
<div class="editor-container">
<el-tag class="tag-title">
Basic:
</el-tag>
<markdown-editor
ref="markdownEditor"
v-model="content1"
height="300px"
/>
</div>
<div class="editor-container">
<el-tag class="tag-title">
Markdown Mode:
</el-tag>
<markdown-editor
v-model="content2"
height="200px"
:options="{hideModeSwitch: true, previewStyle: 'tab'}"
/>
</div>
<div class="editor-container">
<el-tag class="tag-title">
Customize Toolbar:
</el-tag>
<markdown-editor
v-model="content3"
:options="{toolbarItems: ['heading','bold','italic']}"
/>
</div>
<div class="editor-container">
<el-tag class="tag-title">
I18n:
</el-tag>
<el-alert
:closable="false"
title="You can change the language of the admin system to see the effect"
type="success"
/>
<markdown-editor
v-model="content4"
height="300px"
:language="language"
/>
</div>
<el-button
style="margin-top:80px;"
type="primary"
icon="el-icon-document"
@click="getHtml"
>
Get HTML
</el-button>
<!-- eslint-disable vue/no-v-html -->
<div v-html="html" />
</div>
</template>
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator'
import { AppModule } from '@/store/modules/app'
import MarkdownEditor from '@/components/MarkdownEditor/index.vue'
const content = `
**This is test**
* vue
* element
* webpack
`
@Component({
name: 'MarkdownDemo',
components: {
MarkdownEditor
}
})
export default class extends Vue {
private content1 = content
private content2 = content
private content3 = content
private content4 = content
private html = ''
// Mapping for local lang to tuiEditor lang
// https://github.com/nhnent/tui.editor/tree/master/src/js/langs
private languageTypeList: { [key: string]: string } = {
en: 'en_US',
zh: 'zh_CN',
es: 'es_ES',
ja: 'ja_JP',
ko: 'ko_KR'
}
mounted() {
// FIXES weird focus issue caused by MarkdownEditor
window.scrollTo(0, 0)
}
get language() {
return this.languageTypeList[AppModule.language]
}
private getHtml() {
this.html = (this.$refs.markdownEditor as MarkdownEditor).getHtml()
}
}
</script>
<style lang="scss" scoped>
.editor-container {
margin-bottom: 30px;
}
.tag-title {
margin-bottom: 5px;
}
</style>